无意间破坏了系统引导,reboot后直接蓝屏,尝试很多自带修复无果。谷歌,百度近一天,尝试了很多办法,出现了各种问题,最终使用liveUSB的一种傻瓜式的修复方式成功修复。为避免其他同需求的人走弯路,故在此贴出详细过程,希望能帮助到您。
制作liveUSB
其实就是ubuntu的U盘启动盘
- 首先下载ubuntu的镜像文件,如 ubuntu-16.04.6-desktop-amd64.iso 存放路径为/home/userName/Downloads (只是举个例子,不是非要放这里)。
- 然后准备一个U盘,确保里面数据已备份,接下来的步骤需要在另外一台ubuntu上操作,毕竟自己电脑开不了机,也进不去tty。插入U盘后,输入指令:
sudo fdisk - l
/dev/sda1 2048 264191 262144 128M BIOS boot
/dev/sda2 264192 695232511 694968320 331.4G Microsoft basic data
/dev/sda3 1114662912 1534091263 419428352 200G Microsoft basic data
/dev/sda4 1534093312 1953521663 419428352 200G Microsoft basic data
/dev/sda5 695232512 696283135 1050624 513M EFI System
/dev/sda6 696283136 1112662015 416378880 198.6G Linux filesystem
/dev/sda7 1112662016 1114662911 2000896 977M Linux swap
Partition table entries are not in disk order.
Disk /dev/sdb: 29.3 GiB, 31457280000 bytes, 61440000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6fee4eb0
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 0 3251199 3251200 1.6G 0 Empty
/dev/sdb2 3221944 3226935 4992 2.4M ef EFI (FAT-12/16/32)
- 查看u盘设备名,比如sdb,卸载挂载U盘:
sudo umount /dev/sdb
- 使用dd命令输入u盘:
sudo dd if=/home/userName/Downloads/ubuntu-16.04.6-desktop-amd64.iso of=/dev/sdb bs=4M
注意 : 上述U盘路径只需到sdb不用加后面的数字
-
写入完成后,终端输入:
sync
,等待完成,然后弹出U盘。接下来回到自己电脑,插入U盘,设置U盘启动,进入安装界面后,选择Try ubuntu without installing,进入到ubuntu系统,连接wifi,打开终端,输入:
sudo apt-add-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install boot-repair
如果报错:unable to locate package boot-repair
,执行sudo vim /etc/apt/sources.list.d/yannubuntu-ubuntu-boot-repair-cosmic.list
修改deb http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu cosmic main
中的xenial
为bionic
,保存退出。再次执行:
sudo apt update
sudo apt install boot-repair
-
安装完成后,启动boot-repair,终端输入:
boot-repair
,选择recommanded repair
,等待修复完成。可能会出现一个类似上报问题之类(记不清楚了)的选项,可以选择否或是,都可以。完成之后就可以重启,拔掉U盘。 -
引导修复完成,开机就会进入到ubuntu。
部分参考:https://jingyan.baidu.com/article/335530da883e0b19cb41c325.html 但是请注意其中有个指令是错误的。