我的设置
配备 Windows 10 和 Ubuntu 18.10 的 Dell Chromebook 13 双启动,使用MrChromebox UEFI 固件 (4.9)。
发生了什么
我想在外部 USB 驱动器上安装 Ubuntu。我使用了两个驱动器,在第一个驱动器上安装了 ubuntu 18.10 的实时版本,启动它,然后使用安装程序在第二个 USB 上安装 ubuntu。
安装完成后,我删除了驱动器并重新启动。移除两个 USB 记忆棒后,我尝试启动到我的主要 Ubuntu 安装(笔记本电脑内部硬盘驱动器的安装),但现在笔记本电脑启动到 GRUB 2.2(支持“支持最小 BASH 式编辑”)而不是 Ubuntu。
我仍然可以通过在启动管理器中选择 Windows 来启动它,但如果我什么都不做,计算机就会进入 GRUB。
我尝试过的
1)我尝试过boot repair
,但问题仍然存在。这是修复过程的输出。
2)parted
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)
3)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
从您的描述来看,您似乎已经成功地将 Ubuntu 安装在外部 USB 磁盘上,但GRUB(Ubuntu 的引导加载程序)已安装到sda2
您的 EFI 系统分区中。如果您尝试在断开外部 USB 的情况下启动,GRUB 会变得混乱,因为它的配置和/或其某些模块位于(现在无法访问)外部 USB 中。
您可能尚未在外部 USB 上创建 EFI 系统分区(简称 ESP),因此 ESP 是sda2
安装 UEFI 引导加载程序的唯一有效位置。
由于您的 Windows 没有被覆盖,并且您声明您的目标是在外部 USB 上安装 Ubuntu,所以我假设您的 Ubuntu 安装最终按照您的顺序进行,除了引导加载程序。要确定情况是否属实,您可以再次从活动 USB 驱动器启动,然后检查另一个 USB 驱动器的内容。如果有足够的空间,您的目标可能是在 Ubuntu 安装目标 USB 上创建另一个 ESP,并在那里安装 Ubuntu 引导加载程序。
您的次要目标是修复 Windows 启动。这很简单:您只需将“Windows 启动管理器”移至启动顺序中的第一项即可。在Ubuntu中,您可以使用命令来完成此操作efibootmgr
。在 Windows 中,您可以通过打开命令提示符来执行相同的操作作为管理员并使用bcdedit
如下命令:
Bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst
如果需要,您还可以挂载该sda2
分区并从那里删除意外安装的 Ubuntu GRUB 引导加载程序,只需删除该<mount point>/EFI/ubuntu/
目录及其所有内容即可。但这不是必需的。