首页 > 志趣人生 > 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)/

这个系统性的方法应该能帮助您准确找到实际的根分区。记住要耐心地逐个检查,并记录下找到的正确分区信息。

总结(思维导图):

Ubuntu24.04系统,在"grub>"模式下查找和确认实际根分区的详细步骤


0
0

文章导航

共有 0 条热心评论

快快抢占沙发吧!

发表评论

安全验证
Top