在开始讨论问题之前,我想我应该提供一些背景信息,因为这种情况有点特殊,而且我不确定以下任何细节是否重要。
语境
以前,我在同一块硬盘上安装了 Windows 和 Ubuntu,两者都运行正常。但是,要启动 Ubuntu,我必须在打开电脑后立即单击 ESCAPE,然后选择“启动设备选项”(注意,这是一个不同于 BIOS 的菜单看这里),然后选择一个名为“Ubuntu”的选项,此时 grub 终于出现了,所以我只需再次选择 Ubuntu,一切从那里开始正常工作。但是,如果我在启动过程中没有按任何键,计算机就会启动到 Windows,就好像它是唯一安装的操作系统一样,而不是打开 grub 菜单。
最近,我买了一个 SSD,并将 HDD 换成了硬盘盒。在 SSD 上全新安装了 Windows,并从 HDD 上删除了旧 Windows,但保留了 Ubuntu。这似乎没有造成任何问题,因为它像以前一样使用 F9 启动菜单。
总结:2 个磁盘,SSD 上的 Windows,HDD(caddy)上的 Ubuntu,grub 仅通过 HP 启动选项菜单出现,但总体上可以正常工作
问题 1 - 升级后,现在 grub 启动到控制台
昨天,我决定将我的 ubuntu 12 更新到 ubuntu 16。我选择了“删除 ubuntu 12 并安装 ubuntu 16”或类似选项。升级后,每当我在 F9 启动菜单中选择 Ubuntu 时,grub 都会以控制台模式启动。
我按照说明在这里,正如你在我拍的这张照片中看到的:
但按下回车键后,它立即进入另一个控制台,并出现错误。我按照他们的建议尝试了 fsck,但随后又出现了另一个错误:“超级块或分区表可能已损坏”。重启后,一切仍然一样。
问题 2 - 无法使用实时 USB 运行启动修复
我尝试安装并运行来自笔的启动修复程序,但它卡住了并显示以下消息:
即使在 Windows 上禁用快速启动后,此消息仍然会继续出现并且无法修复 grub。
这是启动信息脚本:http://pastebin.com/1pEDasrG
没有主意了,需要一些帮助来解决这个问题,谢谢。
编辑1:
lsblk -o 名称,挂载点,标签,大小,fstype 输出:http://pastebin.com/BdXRxs64
ubuntu@ubuntu:~$ lsblk -o name,mountpoint,label,size,fstype
NAME MOUNTPOINT LABEL SIZE FSTYPE
sdb 596.2G
├─sdb4 575.3G ntfs
├─sdb2 100M vfat
├─sdb7 11.6G ext4
├─sdb5 803M ntfs
├─sdb3 16M
├─sdb1 Recovery 450M ntfs
├─sdb8 [SWAP] 7.9G swap
└─sdb6 1M ext4
loop0 /rofs 1.4G squashfs
sdc 7.2G
└─sdc1 /cdrom UBUNTU 16_0 7.2G vfat
sda 232.9G
├─sda2 231.6G ntfs
├─sda3 803M ntfs
└─sda1 System Reserved 500M ntfs
parted -l 输出:http://pastebin.com/pFDE86TA
ubuntu@ubuntu:~$ sudo parted -l
Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary ntfs boot
2 525MB 249GB 249GB primary ntfs
3 249GB 250GB 842MB primary ntfs diag
Model: ATA Hitachi HTS54756 (scsi)
Disk /dev/sdb: 640GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 473MB 472MB ntfs Basic data partition hidden, diag
2 473MB 578MB 105MB fat32 EFI system partition boot, esp
3 578MB 595MB 16.8MB Microsoft reserved partition msftres
4 595MB 618GB 618GB ntfs Basic data partition msftdata
5 618GB 619GB 842MB ntfs hidden, diag
6 619GB 619GB 1049kB ext4 bios_grub
7 619GB 632GB 12.5GB ext4
8 632GB 640GB 8481MB linux-swap(v1)
Model: Kingston DataTraveler 2.0 (scsi)
Disk /dev/sdc: 7747MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 7747MB 7746MB primary fat32 boot, lba
答案1
启动修复映像给出错误,需要卸载分区。
启动到 LiveUSB 并执行以下步骤。
首先确保该分区未安装:
$ sudo umount /dev/sdb6
然后运行手动 fsck:
$ sudo fsck -y /dev/sdb6
更新:
您可以通过运行提供的步骤手动修复启动问题这里。
使用这些参数执行以下步骤:
- /dev/sdX# = /dev/sdb7
- /dev/sdY# = /dev/sdb6
- /dev/sdZ = /dev/sdb