grub引导中,在kernal 中设置root分区现在有3中方式
1. 使用卷标
查看/etc/fstab,可以看到类似
label=/ / ext3 defaults 1 1
/dev/hda7 /usr ext3 defaults 1 1
第二行的意思很容易懂,就是把/dev/hda7 mount到/usr 上。第一行没有指明分区,意思是把label(卷标)为/ 的分区mount到/上。这样写的好处在于即使如果把硬盘从主板上的ide0(hda) 换到ide2(hdc)上,系统仍然可以自动挂载正确的分区。通常Linux安装的时候已经自动指定了卷标。
所以我们可以这样设置root分区 , kernel **** root=LABEL=/
2. 使用UUID
UUID 全称是 Universally Unique Identifier,也就是说,每个分区有一个唯一的 UUID 值,这样就不会发生分区识别混乱的问题了。
有 3 种方法:
1. 通过浏览 /dev/disk/by-uuid/ 下的设备文件信息。
# ls -l /dev/disk/by-uuid/
------
lrwxrwxrwx 1 root root 10 10-13 09:14 0909-090B -> ../../sdb5
lrwxrwxrwx 1 root root 10 10-13 09:13 7c627a81-7a6b-4806-987b-b5a8a0a93645 -> ../../sda4
.....
2. 通过 vol_id 命令。
# vol_id /dev/sdb5
3. 通过 blkid 命令
# sudo blkid
/dev/sdb5: LABEL="SWAP" UUID="0909-090B" TYPE="vfat"
通过这三种方法都可以获得分区的 UUID,UUID 依据分区不同,长度和格式都不相同。
root=UUID=*****
3. 使用win模式下的/dev/*
通过explore2fs查看root , home对应的分区,显示格式如:/dev/sda2
root=/dev/sda2