GRUB 配置文件丢失或错误修复及设备命名规则
1. GRUB 配置文件丢失或错误修复
故障描述
在 Linux 系统中,如果 grub.cfg 配置文件丢失或损坏,可能导致无法正常引导系统。这种情况通常发生在系统更新、文件损坏或不正确的磁盘操作后。
修复思路
- 手动引导系统:
使用 GRUB 命令行手动引导系统,重新生成grub.cfg
文件。 - 手动引导步骤:
- 在 GRUB 引导菜单中,选择
Advanced options for Ubuntu
(或相应的发行版)。 - 按
e
编辑引导参数。 - 使用下面的命令手动设置根文件系统并引导内核。 步骤示例:
- 输入以下命令以指定 boot 所在的分区:
set root='hd0,msdos1'
如果有多个磁盘或分区,使用相应的设备名称,如hd0
,hd1
,nvme0n1
等,来识别正确的磁盘。 - 输入以下命令引导内核:
linux /vmlinuz-5.14-xxx ro root=/dev/sda1
这里,/dev/sda1
是你选择的根分区,可能是/dev/nvme0n1p1
或其他设备。 - 输入以下命令来加载初始 RAM 磁盘:
initrd /initramfs-5.14-xxx
- 按
Ctrl+x
启动系统或者输入boot
引导系统boot
- 修复
grub.cfg
文件:
- 登录到系统后,重新生成 GRUB 配置文件。
bash sudo grub-mkconfig -o /boot/grub/grub.cfg
- 如果使用的是 UEFI 引导模式,可能需要运行以下命令:
bash sudo grub-install --efi-directory=/boot/efi
- 重新生成后,重新启动系统检查是否能正常启动。
2. Linux 设备命名规则
2.1 SATA / SAS 硬盘设备
- 命名示例:
/dev/sda
:第一个硬盘。/dev/sdb
:第二个硬盘。/dev/sdc
:第三个硬盘,依此类推。
- 说明: 这是传统的硬盘设备命名方式,适用于 SATA 或 SAS 硬盘。
2.2 NVMe 设备
- 命名示例:
/dev/nvme0n1
:第一个 NVMe 设备。/dev/nvme0n1p1
:第一个 NVMe 设备的第一个分区。/dev/nvme1n1
:第二个 NVMe 设备。
- 说明: NVMe 设备采用此命名方式,常用于支持 NVMe 协议的固态硬盘(SSD),比 SATA 硬盘速度更快。
2.3 Virtio 设备
- 命名示例:
/dev/vda
:第一个虚拟磁盘设备。/dev/vdb
:第二个虚拟磁盘设备。/dev/vdc
:第三个虚拟磁盘设备,依此类推。
- 说明: 适用于虚拟机中的磁盘设备,通常在 KVM/QEMU 等虚拟化技术中使用。
2.4 SCSI 磁盘设备
- 命名示例:
/dev/sda
:第一个 SCSI 磁盘设备。/dev/sdb
:第二个 SCSI 磁盘设备。
- 说明: SCSI 硬盘设备与 SATA 硬盘命名规则相同,在现代系统中通常不再有明显区别。
3. LVM(逻辑卷管理)命名规则
如果你使用 LVM(Logical Volume Manager),磁盘和分区的命名方式会有所不同。LVM 中的设备命名规则如下:
- 命名示例:
/dev/VolGroup/lv_root
:表示逻辑卷lv_root
位于卷组VolGroup
中。/dev/mapper/VolGroup-lv_root
:也是表示同一个逻辑卷,但采用mapper
设备命名方式。
- 说明: LVM 允许创建多个逻辑卷和卷组,设备的命名反映了卷组和逻辑卷的关系。
4. RAID 阵列设备命名规则
在使用 RAID 阵列时,设备的命名规则如下:
- 命名示例:
/dev/md0
:第一个 RAID 阵列。/dev/md1
:第二个 RAID 阵列,依此类推。
- 说明: 在 RAID 配置中,设备路径通常显示为
/dev/mdX
,md
表示 RAID 设备。
5. 常见设备命名示例
设备类型 | 命名示例 | 说明 |
---|---|---|
NVMe 设备 | /dev/nvme0n1 , /dev/nvme0n1p1 | NVMe 硬盘设备。nvme0n1 是设备本身,nvme0n1p1 是分区。 |
Virtio 设备 | /dev/vda , /dev/vdb , /dev/vdc | 虚拟机中的磁盘设备,vda 是第一个虚拟磁盘,vdb 是第二个,依此类推。 |
SATA / SAS 硬盘 | /dev/sda , /dev/sdb , /dev/sdc | 传统硬盘设备,sda 是第一个硬盘,sdb 是第二个,依此类推。 |
SCSI 磁盘 | /dev/sda , /dev/sdb | SCSI 硬盘设备,类似于 SATA。 |
RAID 阵列 | /dev/md0 , /dev/md1 | RAID 阵列设备。 |
总结
/dev/sda
,/dev/sdb
:传统硬盘(SATA/SAS)。/dev/nvme0n1
,/dev/nvme1n1
:NVMe 固态硬盘。/dev/vda
,/dev/vdb
:虚拟化环境中的磁盘设备,通常用于 KVM/QEMU。/dev/md0
,/dev/md1
:RAID 阵列设备。nfs://server:/path
:根分区通过 NFS 挂载。
适用场景
- 在系统引导时,根据磁盘类型选择正确的设备路径,例如根分区可以是
/dev/sda1
、/dev/nvme0n1p1
或者 LVM 的/dev/VolGroup/lv_root
。 - 如果在虚拟机中工作,可能会遇到 Virtio 设备,如
/dev/vda
。 - 如果使用 RAID 阵列或网络挂载,可以参考 RAID 或 NFS 的设备命名规则。
希望这份整理过的笔记能够帮助你更有效地处理 GRUB 配置文件修复和设备命名相关的问题!
Comments NOTHING