我有一台 Dell Chromebook 13,在上面安装了 Windows 10 和 Ubuntu 18.10 双启动,使用 Mr Chromebox UEFI 固件(4.9)。
我想在新的 USB 驱动器上安装 Ubuntu,所以我拿了两个驱动器,在第一个驱动器上安装了 ubuntu 18.10 的实时版本,启动它,然后使用安装程序在第二个 USB 上安装 ubuntu。安装完成后,我移除驱动器并重新启动 - 却发现笔记本电脑启动到 GRUB 2.2(支持“最少的 BASH 式编辑”)而不是 Ubuntu。
我仍然可以通过在启动管理器中选择 Windows 来启动它,但如果我什么都不做,计算机就会进入 GRUB。我尝试使用启动修复来解决这个问题,如下所示,[this guide][1]
但问题仍然存在。这是修复过程的输出。
如果我输入ls
GRUB,我会得到
(hd0) (hd0,gpt4) (hd0,gpt2) (hd0,gpt2) (hd0,gpt1)
编辑(2019-02-17)
我刚刚启动 Ubuntu live-usb 来检查我在哪个分区安装了 Ubuntu。这是 Gparted 的屏幕截图这是否意味着我以某种方式擦除了我的 Ubuntu 分区?
这是输出sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 500118192 sectors, 238.5 GiB
Model: ADATA SP600NS34
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 6D115618-F5A2-A34B-AD91-2692BBC3AFCA
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 500118158
Partitions will be aligned on 2048-sector boundaries
Total free space is 410793028 sectors (195.9 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1023999 499.0 MiB 2700 Basic data partition
2 1024000 1228799 100.0 MiB EF00 EFI system partition
3 1228800 1261567 16.0 MiB 0C01 Microsoft reserved ...
4 1261568 89327144 42.0 GiB 0700 Basic data partition
编辑2(2019-02-18)
根据@oldfred的建议,我尝试parted
了testdisk
sudo parted /dev/sda unit s print
Model: ATA ADATA SP600NS34 (scsi)
Disk /dev/sda: 500118192s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 2048s 1023999s 1021952s ntfs Basic data partition hidden, diag
2 1024000s 1228799s 204800s fat32 EFI system partition boot, esp
3 1228800s 1261567s 32768s Microsoft reserved partition msftres
4 1261568s 89327144s 88065577s ntfs Basic data partition msftdata
Parted 无法看到我安装的 ubuntu 的分区,因此我尝试从第四个分区后的 +1 扇区开始进行救援,但没有结果:
sudo parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) rescue
Start? 89327145
End? 500118191
(parted)
然后我尝试了 testdisk。第一级分析找不到任何分区,所以我做了更深入的搜索。以下是结果
TestDisk 7.0, Data Recovery Utility, April 2015
Christophe GRENIER <[email protected]>
http://www.cgsecurity.org
Disk /dev/sda - 256 GB / 238 GiB - CHS 31130 255 63
The harddisk (256 GB / 238 GiB) seems too small! (< 12 TB / 11 TiB)
Check the harddisk size: HD jumpers settings, BIOS detection...
The following partitions can't be recovered:
Partition Start End Size in sectors
> Linux Swap 89606136 25289942743 25200336608
MS Data 257078856 656388551 399309696
MS Data 257079752 656389447 399309696
MS Data 257082240 656391935 399309696
MS Data 257082400 656392095 399309696
MS Data 257083096 656392791 399309696
MS Data 257084352 656394047 399309696
MS Data 257085056 656394751 399309696
MS Data 257086456 656396151 399309696
MS Data 257086592 656396287 399309696
[ Continue ]
SWAP2 version 2674814663, pagesize=8192, 12 TB / 11 TiB
在以下屏幕中,我得到了分区列表(或者至少我认为是这样)。我用 检查了其中一些分区P
,这使我能够看到每个分区中包含的文件。我想我已经确定了我的根分区
D MS Data 2048 1023999 1021952
D MS Data 1023999 2045950 1021952
D MS Data 1024000 1228799 204800 [NO NAME]
D MS Data 1024006 1228805 204800 [NO NAME]
D MS Data 1261568 89327144 88065577
D MS Data 6173667 6179840 6174
D MS Data 6179840 6186013 6174 [Boot]
D MS Data 6179859 6186032 6174
D MS Data 6186032 6192205 6174 [Boot]
D MS Data 6186051 6192224 6174
D MS Data 6192224 6198397 6174 [Boot]
D MS Data 6192243 6198416 6174
D MS Data 6198416 6204589 6174 [Boot]
D MS Data 6204624 6207503 2880 [EFISECTOR]
D MS Data 6207504 6210383 2880 [EFISECTOR]
D MS Data 17739774 417049469 399309696
D MS Data 17739776 417049471 399309696
D MS Data 22864947 22871120 6174
D MS Data 22871120 22877293 6174 [Boot]
D MS Data 78493568 78496447 2880 [EFISECTOR]
D MS Data 81325576 81328455 2880 [EFISECTOR]
D MS Data 81328456 81331335 2880 [EFISECTOR]
D MS Data 86914272 86917151 2880 [EFISECTOR]
D MS Data 89327144 177392720 88065577
D MS Data 89327614 500117501 410789888
D MS Data 89327616 500117503 410789888 // this is where my root folder is
D Linux Swap 89606144 93800431 4194288
D MS Data 154662036 154666963 4928 [NO NAME]
D MS Data 222556160 305313791 82757632
D MS Data 237681520 237684399 2880 [EFISECTOR]
D MS Data 299342267 299345146 2880 [NO NAME]
D MS Data 305313791 388071422 82757632
D MS Data 316486379 316489258 2880 [NO NAME]
D MS Data 316486403 316489282 2880 [NO NAME]
D MS Data 332211579 332214458 2880 [NO NAME]
D MS Data 395771312 395774191 2880 [EFISECTOR]
D MS Data 395774192 395777071 2880 [EFISECTOR]
D MS Data 417052670 500117501 83064832
D MS Data 417052672 500117503 83064832
D MS Data 468003251 468006130 2880 [NO NAME]
D MS Data 468004147 468007026 2880 [NO NAME]
D MS Data 471783563 471786442 2880 [NO NAME]
我是否应该尝试将分区特性从更改D=deleted
为P=primary
?以下是完整日志(请注意,我进行了两次深度搜索)。还有其他分区我应该恢复吗?当我尝试在其中许多分区中可视化文件(如前一个分区)时,我只收到此消息:Can't open filesystem. Filesystem seems damaged.
或者我应该放弃并重新安装所有内容,或者仍然有一些希望?
答案1
这是引导加载程序的问题。
1. 尝试一下grub> boot
如果没有成功。
2. 初始化内核。运行ls
,然后在以下命令中,在 处hdX
写入您的 Ubuntu 磁盘,并在Y
处写入您的 Ubuntu 分区号。
grub> set root=(hdX,Y)
grub> linux /vmlinuz-<kernelversion>-generic
grub> initrd /initrd.img-<kernelversion>-generic
grub> boot
(内核版本)例如 4.15.0-43
如果你不知道你的(内核版本)
grub> linux /vml
Tab
grub> initrd /in
Tab
要不就
grub> set root=(hdX,Y)
grub> linux /vmlinuz
grub> initrd /initrd.img
grub> boot
现在您就可以启动 Ubuntu 了。启动后,执行以下命令:
sudo update-grub
sudo grub-install --force /dev/sda
sudo update-grub
和
重启
如果还是没有成功。
从实时 DVD 或 USB 驱动器(安装 DVD/USB)启动并选择“试用 Ubuntu”。
安装 Ubuntu 安装所在的分区。如果您不确定是哪个分区,请启动 GParted(包含在 Live CD 中)。
或者。打开终端(Ctrl+Alt+T)并使用以下命令:sudo fdisk -l lsblk 并找出来。它通常是 EXT4 分区。将 XX 替换为驱动器号和分区号,例如:
sudo mount /dev/sda1 /mnt. sudo mount /dev/sdXX /mnt sudo mount /dev/sdXY /mnt/boot ### 如果是单独的启动分区 sudo mount /dev/sdXY /mnt/boot/efi ### 对于 efi 分区 注意:sdX = 磁盘 | sdXX = 系统分区 | sdXY = 启动分区
现在绑定 grub 需要访问的目录来检测其他操作系统。
sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
现在 chroot。
sudo chroot /mnt
现在安装、检查并更新 grub。
这次你只需要添加驱动器号(通常是 a)来替换 X,例如:grub-install /dev/sda
update-grub
grub-install /dev/sdX
update-grub
注意:sdX = 磁盘 | sdXX = 系统分区 | sdXY = 启动分区
退出 chroot 系统并卸载所有内容。
exit
for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done
卸载并重新启动。
sudo umount /mnt/boot/efi
sudo umount /mnt/boot
sudo umount /mnt
sudo reboot
出现提示时,移除 DVD/USB 驱动器。