admin管理员组

文章数量:1592931

1.问题现象

工作电脑系统为ubuntu16.04,昨天早上使用时,突然发现多出来一个100Mb的盘符,类似新增了一个硬盘,进入后可以看到ubuntu系统的各个目录结构及相关文件,但是并不完整,有部分目录是空的。

尝试重启电脑解决,发现系统进不去了,会直接进入bios中,无法启动ubuntu系统。

2.初步定位

使用装机ubuntu系统U盘,进入系统后,lsblk,发现boot分区丢失,如下图所示,仅剩余1p2和1p3两个分区。1p1不存在了。

3.解决办法

开始尝试修复boot分区,没搞定,后来用一块新盘重装系统,发现原盘中数据信息都没有丢失。本来就用新盘系统,把旧文件全部拷贝过去,该装的软件重新装一下。

经高人开导,尝试将原根目录全部拷贝到新盘根目录中,再将新盘/etc/fstab文件覆盖原盘fstab文件,这样可以全量恢复原系统,原来装的软件也不需要重新装。

现将折腾过程及遇到的问题总结,供各位参考。

1)将原盘和新盘都接入电脑,然后用U盘启动系统

2)备份原盘fstab文件,并用新盘fstab替换原盘fstab文件

mv 原盘挂载路径/etc/fstab 原盘挂载路径/etc/fstab.bak

cp 新盘挂载路径/etc/fstab 原盘挂载路径/etc/fstab

3)格掉新盘根目录分区,也就是nvme0n1p2分区

这里直接使用ubuntu自带的图形工具,右键格式化ext4即可

4)全量拷贝原盘根目录分区到新盘根目录分区中

rsync -aHAX 原盘所在目录/ 新盘所在目录/

5)完成全量拷贝后重启系统,发现进入grub界面,在该界面手动启动系统

  • 查看当前系统盘符
    grub>ls
    (hd0),(hd0,gpt1),(hd0,gpt2),(hd0,gpt3)
    grub>
  • 查看根目录所在分区
     
    grub>cat (hd0,gpt2)/etc/fstab
    ## 找到下述关键打印信息
    
    # <file system> <mount point> <type> <options> <dump> <pass>
    # / was on /dev/nvme0n1p2 during installation
    UUID=dd6e0539-1369-4938-8af5-378f02cf05cf /               ext4    errors=remount-ro 0       
  • 指定内核及根目录所在分区,以及initrd路径(可以用tab补全功能)
    ​
    grub> linux /boot/vmlinuz-4.15.0-70-generic ro text root=/dev/nvmen1p2
    
    ​grub> initrd /boot/initrd.img-4.15.0-70-generic
  • 开启boot引导系统
    > boot

 到这里,系统就基本可以正常启动了。

此外,fstab替换后,出现过boot分区的UUID不一致的问题,使用新的UUID更替后问题解决

 

参考资料:开机进入GRUB不要慌,命令行也可启动Linux

本文标签: 系统重启Ubuntu