首页 > 志趣人生 > Ubuntu系统Ubuntu系统
Ubuntu24.04系统,在"grub>"模式下查找和确认实际根分区的详细步骤
第一步:查看所有可用设备grub> ls这会显示所有可用的磁盘和分区,例如:(hd0) (hd0,msdos1) (hd0,msdos2) (hd0,msdos3) (hd0,msdos5) (hd0,msdos6) (hd0,msdos7)第二步:逐个...
第一步:查看所有可用设备
grub> ls
这会显示所有可用的磁盘和分区,例如:
(hd0) (hd0,msdos1) (hd0,msdos2) (hd0,msdos3) (hd0,msdos5) (hd0,msdos6) (hd0,msdos7)
第二步:逐个检查分区内容
方法1:检查每个分区的根目录结构
# 检查第一个分区grub> ls (hd0,msdos1)/# 检查第二个分区grub> ls (hd0,msdos2)/# 检查第三个分区grub> ls (hd0,msdos3)/
寻找以下特征来识别根分区:
包含
/etc
目录包含
/home
目录包含
/var
目录包含
/usr
目录包含
/boot
目录
方法2:检查/boot目录
# 检查每个分区是否有/boot目录 grub> ls (hd0,msdos1)/boot/ grub> ls (hd0,msdos2)/boot/ grub> ls (hd0,msdos3)/boot/
寻找包含以下文件的分区:
vmlinuz-*
(Linux内核文件)initrd.img-*
(初始RAM磁盘)grub/
目录
第三步:使用GRUB搜索功能
搜索内核文件
# 搜索vmlinuz文件 grub> search --file --set=root /boot/vmlinuz-6.14.0-27-generic
搜索GRUB配置文件
# 搜索grub.cfg文件 grub> search --file --set=root /boot/grub/grub.cfg
搜索fstab文件
# 搜索/etc/fstab文件 grub> search --file --set=root /etc/fstab
第四步:检查分区类型和大小
查看分区详细信息
# 查看分区表grub> parttool (hd0,msdos1) printgrub> parttool (hd0,msdos2) printgrub> parttool (hd0,msdos3) print
检查文件系统类型
# 检查每个分区的文件系统grub> ls -l (hd0,msdos1)/ grub> ls -l (hd0,msdos2)/ grub> ls -l (hd0,msdos3)/
第五步:系统性的识别方法
1. 寻找典型的Linux根目录结构
# 检查是否包含标准Linux目录grub> ls (hd0,msdos1)/etc/grub> ls (hd0,msdos1)/usr/grub> ls (hd0,msdos1)/var/grub> ls (hd0,msdos1)/home/
2. 检查/etc目录内容
# 查看/etc目录下的关键文件grub> ls (hd0,msdos1)/etc/passwd grub> ls (hd0,msdos1)/etc/fstab grub> ls (hd0,msdos1)/etc/hostname
3. 检查/boot目录内容
# 查看/boot目录下的文件 grub> ls (hd0,msdos1)/boot/vmlinuz* grub> ls (hd0,msdos1)/boot/initrd* grub> ls (hd0,msdos1)/boot/grub/
第六步:确认找到的根分区
验证方法1:检查fstab文件
# 如果找到了可能的根分区,查看其fstab文件grub> cat (hd0,msdos3)/etc/fstab
验证方法2:检查内核参数
# 查看内核命令行参数(如果存在)grub> cat (hd0,msdos3)/proc/cmdline
第七步:实际测试启动
测试启动到单用户模式
# 设置找到的根分区 grub> set root=(hd0,msdos3) # 尝试启动 grub> linux /boot/vmlinuz-6.14.0-27-generic root=/dev/sda3 ro singlegrub> initrd /boot/initrd.img-6.14.0-27-genericgrub> boot
常见分区布局识别
典型的Ubuntu分区布局:
(hd0,msdos1)
- 通常是EFI分区(FAT32)(hd0,msdos2)
- 可能是交换分区(hd0,msdos3)
- 通常是根分区(ext4)(hd0,msdos5)
- 可能是/home分区
识别特征:
# EFI分区特征grub> ls (hd0,msdos1)/EFI/# 交换分区特征(通常很小,无文件系统)grub> ls (hd0,msdos2)/# 根分区特征grub> ls (hd0,msdos3)/etc/grub> ls (hd0,msdos3)/boot/
第八步:记录和确认
记录找到的信息
# 记录分区信息grub> echo "Root partition found: (hd0,msdos3)"grub> echo "Kernel: vmlinuz-6.14.0-27-generic"grub> echo "Initrd: initrd.img-6.14.0-27-generic"
最终确认
# 设置根分区grub> set root=(hd0,msdos3)# 验证设置grub> echo $root# 启动系统grub> linux /boot/vmlinuz-6.14.0-27-generic root=/dev/sda3 ro grub> initrd /boot/initrd.img-6.14.0-27-generic grub> boot
故障排除技巧
如果搜索失败:
# 尝试不同的内核版本 grub> search --file --set=root /boot/vmlinuz-* grub> search --file --set=root /boot/vmlinuz-6.14.0-* # 尝试搜索其他关键文件 grub> search --file --set=root /etc/passwd grub> search --file --set=root /etc/fstab
如果分区号不确定:
# 尝试不同的分区号 grub> ls (hd0,1)/ grub> ls (hd0,2)/ grub> ls (hd0,3)/
这个系统性的方法应该能帮助您准确找到实际的根分区。记住要耐心地逐个检查,并记录下找到的正确分区信息。
总结(思维导图):
0
0
快快抢占沙发吧!