记录一次解决因硬盘分区错误,而导致vmware虚拟机重启后报错unknown filesystem ,进入grub

因为虚拟机硬盘不够,给虚拟机增加硬盘后操作错误报错。

当时根据VMware中已建好虚拟机磁盘扩充保姆级教程_vmware对磁盘扩容-优快云博客这篇文章对虚拟机进行硬盘扩容,操作失误,导致重启那步进入grub

在grub时

ls

只有hd0和hd0,msdos1,不管set哪一个都不能正常启动

解决办法

打开虚拟机设置

弄个和原本虚拟机系统相同的镜像

重启或者打开虚拟机,按ESC或者F2,进入选择磁盘的页面,选择cd开头的

进入后来到安装Ubuntu界面,选择try Ubuntu

进入到Ubuntu桌面后

sudo fdisk -l [开头增加硬盘的地方]

 可以看到下面箭头所指后面有个p1

尝试在 /dev/sda1 这个主分区内部创建了一个嵌套分区 /dev/sda1p1​。这种操作在传统的 MBR 分区表中是​​不支持​​的,导致分区表逻辑混乱,从而引发系统启动时的 unknown filesystem 错误。

接下来推荐问ai,笔者也是问ai,我自己也有点懵,下面是我所做的操作

  1. 打开终端,运行 sudo fdisk /dev/sda 进入分区工具。
  2. 输入 p 查看当前分区表,确认 /dev/sda1 的异常结构。
  3. 输入 d 删除分区,选择分区号 1(即删除 /dev/sda1)。
    ​注意​​:此操作会删除分区内所有数据!确保已备份重要文件。
  1. 输入 n 创建新分区,选择 p(主分区),起始扇区保持默认(建议 2048)。
  2. 结束扇区设置为磁盘末尾(例如直接按回车键使用全部空间)。
  3. 输入 w 保存分区表并退出。
  4. 扩展文件系统:
    sudo resize2fs /dev/sda1

这时候我报错了

sudo blkid /dev/sda1

 通过这行代码查看分区的文件系统类型和 UUID,后面的/dev/sda1是用fdsik修改的,根据实际情况,下面是输出内容

# 检查文件系统错误(针对 ext4)
sudo fsck -y /dev/sda1

# 如果提示 "Bad superblock",尝试使用备份超级块修复
# 笔者爆了一大堆内容,下面这句没输
sudo fsck -b 32768 /dev/sda1 -y  # 32768 是常见的备份超级块位置

sudo resize2fs /dev/sda1

# 挂载原系统分区
sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

# 进入原系统环境
sudo chroot /mnt

# 重新安装 GRUB
grub-install /dev/sda
update-grub
exit

# 验证分区表一致性​
# 确认分区起始扇区对齐(如 2048 扇区),且文件系统类型为 ext4
sudo parted /dev/sda print

# 重启并测试​
sudo umount /mnt/dev /mnt/proc /mnt/sys /mnt
sudo reboot

后面就是重启了,问题就解决了,笔者通过sudo reboot指令重启后会要求删除ios文件,笔者直接重启了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值