无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 4021|回复: 7
打印 上一主题 下一主题

请问下grub4dos设备命名怎么与linux设备名对应起来?

  [复制链接]
跳转到指定楼层
1#
发表于 2021-1-28 09:07:28 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liuzhaoyzz 于 2021-1-28 09:24 编辑

请问下grub4dos的设备命名怎么与linux的设备名对应起来?比如
find --set-root /grldr
结果是(hd0,0),对应于linux下面的设备名可能是sda1,sdb1,hda1,hdb1……这样子的名字,有没有命令参数实现设备名自动转换?建立准确的对应关系?
grub4dos没有命令或者参数可以实现这个转换吧?
那么windows下有没有c/c++/au3/ahk/delphi/pecmd/批处理之类的能够搞定的?



Linux中IDE硬盘,驱动标识符为“hdx-”,其中hd表示设备类型为IDE硬盘,x为盘号,表示第几块硬盘(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“-”代表分区,前4个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区(扩展分区不能直接使用,需切割出逻辑分区,逻辑分区的数量没有限制)

Linux中SATA或SCSI硬盘,驱动标识符为“sdx-”,sd表示设备类型为SATA硬盘,如:

hda2:表示第一个IDE硬盘上的第二个主分区或扩展分区

sdb5:表示第二个SATA硬盘上的第一个逻辑分区
2#
发表于 2021-1-28 09:18:35 | 只看该作者
本帖最后由 wintoflash 于 2021-1-28 09:19 编辑
请问下grub4dos的设备命名怎么与linux的设备名对应起来?

明确告诉你, GRUB2 / GRUB4DOS 的设备,和 Windows / Linux 里面的设备名,没有必然的联系。
你的电脑要是两者的顺序恰好一一对应,那是巧合,说明制造商想的和你一样。

Linux 下一般用文件系统 UUID 来唯一确定磁盘。
在 GRUB2 下,用如下命令获得分区的文件系统 UUID:
  1. probe --set=aaa -u (hdx,y)
  2. echo $aaa
复制代码

在 GRUB4DOS 下,用 UUID 命令可以获取 UUID。
  1. uuid (hdx,y-1)
  2. echo %?%
复制代码


在 Linux 下,可以用 /dev/disk/by-uuid/$UUID 访问对应磁盘
假设 UUID 是 1234-ABCD,那就是 /dev/disk/by-uuid/1234-ABCD。再用 mount 命令挂载就可以了。

archlinux wiki
回复

使用道具 举报

3#
发表于 2021-1-28 09:41:20 | 只看该作者
wintoflash 发表于 2021-1-28 09:18
明确告诉你, GRUB2 / GRUB4DOS 的设备,和 Windows / Linux 里面的设备名,没有必然的联系。
你的电脑 ...

有个问题我一直很疑惑,Linux的分区UUID到底是指什么。这个UUID是根据什么来的。还有UUID应该是用很长一串数字表示的,但是有时候却把很短的一串数字也叫UUID。。。
回复

使用道具 举报

4#
发表于 2021-1-28 09:50:33 | 只看该作者
本帖最后由 wintoflash 于 2021-1-28 09:52 编辑
qingdao33122 发表于 2021-1-28 09:41
有个问题我一直很疑惑,Linux的分区UUID到底是指什么。这个UUID是根据什么来的。还有UUID应该是用很长一 ...

你说的是 "分区 UUID" 还是 "文件系统 UUID" ?通常情况下指 "文件系统 UUID",是格式化文件系统的时候写的一个数据。
FAT / NTFS 之类的文件系统本身不支持 UUID,一般指的是 bpb 中的序列号。
比如 FAT 文件系统,UUID 就是 32 位的,一般表示为 "XXXX-XXXX"。NTFS 的是 64 位的。
"分区 UUID" 指的是 GPT 分区表里面分区表项记录的UUID。
回复

使用道具 举报

5#
 楼主| 发表于 2021-1-28 10:41:27 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-1-28 10:42 编辑
wintoflash 发表于 2021-1-28 09:18
明确告诉你, GRUB2 / GRUB4DOS 的设备,和 Windows / Linux 里面的设备名,没有必然的联系。
你的电脑 ...

        想请问下,Persistent block device naming持久化命名,udev这些,是现代的主流linux发行版都支持,还是仅仅archlinux及其衍生发行版支持?或者说是从什么linux内核开始支持的?我看了网上好像是说从linux kernel2.6开始支持的?现在的linux内核都发展到5.10了。

       linux知识博大精深,要想搞清楚一个问题,都需要查阅很多知识,需要很多修为才行。

点评

主流发行版都支持 /dev/disk/by-uuid /dev/disk/by-label 这种。 只有少数像 tinycore 这样阉割的发行版不支持。 目前 linux 2.6 都很少见了,更不用说 2.6 之前的。  详情 回复 发表于 2021-1-28 10:56
回复

使用道具 举报

6#
发表于 2021-1-28 10:56:47 | 只看该作者
liuzhaoyzz 发表于 2021-1-28 10:41
想请问下,Persistent block device naming持久化命名,udev这些,是现代的主流linux发行版都支 ...

主流发行版都支持 /dev/disk/by-uuid /dev/disk/by-label 这种。
只有少数像 tinycore 这样阉割的发行版不支持。
目前 linux 2.6 都很少见了,更不用说 2.6 之前的。
回复

使用道具 举报

7#
发表于 2021-1-28 11:46:56 | 只看该作者
本帖最后由 2011whp 于 2021-1-28 11:52 编辑

怎么实现,不懂,


但从二进制视角(数据结构--公共规范):
GPT 磁盘:   
          gpt头内有 磁盘GUID
          gpt分区头  有  分区名GUID  分区类型GUID
          分区块  头部: 即BPB内有   序列ID   卷标
           文件系统  内: 文件系统GUID    卷标
MBR磁盘:
           MBR倒数72字节处的  4B为 磁盘 id
           16B的分区项内:文件系统类型   、激活标记  
           分区块  头部: 即BPB内有   序列ID   卷标
           文件系统  内: 文件系统GUID    卷标
回复

使用道具 举报

8#
 楼主| 发表于 2021-1-28 16:09:12 来自手机 | 只看该作者
wintoflash 发表于 2021-1-28 10:56
主流发行版都支持 /dev/disk/by-uuid /dev/disk/by-label 这种。
只有少数像 tinycore 这样阉割的发行版 ...

       明白了,感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-24 11:14

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表