让我们了解一些背景信息,我在一台 HP 62 笔记本电脑上双启动 Win10 和 Ubuntu 16.04(我相信)。第一次重启后,它给了我 grub 救援屏幕。我执行了 ls 命令并得到了 (hd0) (hd0,msdos5) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)。我尝试对它们全部使用 ls 命令,但出现了错误。它说未知文件系统。我知道我的文件是完整的(至少就 Windows 而言)并且是可读的。我没有实时 USB 或 CD。
编辑:我目前有一个实时启动的 USB。查看分区表后,我知道 sda2 是我的 Windows 操作系统,sda4 是我的 Linux 操作系统,但我该如何修复它们呢?
编辑:lsblk -f; sudo parted -l
输入此信息后,我得到了:
名称 FSTYPE 标签 UUID 挂载点 星展银行 ─sda1 ntfs系统保留78746B10746AD104 ─sda2 ntfs 52CE70B8CE7095C7 ─sda3 ntfs 32DA13F9DA13B855 └─sda5 交换 acf66f09-4c28-4c76-a318-d2f77efaa56a [交换] 安全数据库 └─sdb1 vfat UBUNTU 16_0 7C9B-EA5B /cdrom sr0 loop0 squashfs /rofs 型号:ATA TOSHIBA MK5056GS (scsi) 磁盘/dev/sda:500GB 扇区大小(逻辑/物理):512B/512B 分区表:msdos 磁盘标志: 编号 起始 结束 大小 类型 文件系统 标志 1 1049kB 525MB 524MB 主 ntfs 启动 2 525MB 388GB 388GB 主 ntfs 3 388GB 389GB 844MB 主 ntfs 诊断 4 389GB 500GB 111GB 扩展 5 494GB 500GB 6229MB 逻辑 Linux 交换 (v1) 型号:SanDisk Cruzer U (scsi) 磁盘/dev/sdb:15.6GB 扇区大小(逻辑/物理):512B/512B 分区表:msdos 磁盘标志: 编号 起始 结束 大小 类型 文件系统 标志 1 1049kB 15.6GB 15.6GB 主 fat32 启动,lba
编辑:这是 GParted 图片。(我把它取下来以便放其他的。)
编辑:这是我的 BIOS 屏幕和启动选项菜单。只有主驱动器。
编辑:非常感谢大家帮助我修复电脑。我的所有文件都完好无损。我真的希望这能帮助其他可能遇到此问题的人。
我是如何做到的以及事情是如何发生的:起初,我打算用我的电脑做一个学校项目。Windows 决定当时安装它的更新,所以我就让它安装。第一次重启后,它给了我这个grub rescue>
屏幕。我运行命令ls
来查看我的分区,我得到的输出是(hd0) (hd0,msdos5) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
注意没有(hd0,msdos4)
。这意味着 Windows 删除了 Ubuntu 分区。我尝试设置 grub 文件的路径,但它们不在那里。过了一会儿,我使用另一台计算机创建了一个 Live USB 并从那里启动。我打开了一个终端并尝试安装testdisk
。(确保进入您的设置并在软件和更新中启用“universe”选项)安装 testdisk 后,我运行了它并在我的硬盘上进行了深入搜索。完成后,我将 Windows 启动器标记为 *。(主可启动)然后我将其余的命名为 P。(主)保存分区表后,我再次打开 grub rescue,然后运行ls
。输出类似于(hd0) (hd0,msdos5) (hd0,msdos4) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos1)
我运行的ld (hd0,msdos3)
,它给出的结果是它是一个 ext2 驱动器。终于!然后我运行它
set root=(hd0,msdos3)
set prefix=(hd0,msdos3)/boot/grub
insmod normal
normal
,它启动得很好!希望这对你有帮助,因为它确实对我有帮助。
答案1
您可以使用两种选项。您可以使用控制台grub rescue
来安装和更新/修复 grub,或者您可以使用 Live Ubuntu 磁盘/usb 来实现此目的。由于您的问题表明这是全新安装,因此您很可能仍然有 Live DVD/USB。
启动到安装介质。如果您的UEFI
计算机性能良好,请确保启动到该模式。
当您看到提示时,您可以Try without installing Ubuntu
选择该选项。
打开一个终端(在 Ubuntu Dash 搜索中输入终端)。
在控制台中运行以下命令:
第 1行
XY
中的 是一个变量。这是安装 Ubuntu 的分区(即/dev/sda6
)。这可以是连接到计算机的任何驱动器上的任何分区。第 3行
XY
中的 是变量。将其替换为已安装的分区EFI
。这几乎总是/dev/sda1
。如果您的启动驱动器不是 EFI 驱动器,请跳过步骤 3 和步骤 10。第 6行
X
是您的启动驱动器(单个字母)。这几乎总是/dev/sda
。
1:$ sudo mount /dev/sdXY/mnt 2:$ for i in /sys /proc /run /dev; 执行 sudo mount --bind "$i" "/mnt/$i"; 完成 3:$ sudo mount /dev/sdXY/mnt/boot/efi 5:$ sudo chroot /mnt 6:# grub 安装 /dev/sdX 7:# 更新 grub 8:#退出 9:$ for i in /sys /proc /run /dev;执行 sudo umount "/mnt/$i";完成 10:$ sudo umount /mnt/boot/efi 11:$ 退出
重新启动计算机。
救援幼虫
除了拥有 USB 或 DVD 安装盘之外,以下是 Grub Rescue 提示符的步骤:
1. 设置前缀=(hdX,Y)/boot/grub 使用之前确定的值。 例如:如果Ubuntu系统在sda5上,则输入:set prefix=(hd0,5)/boot/grub 2.* 设置根=(hdX,Y) 确认正确的 X、Y 值并按 ENTER。 例如:如果Ubuntu系统在sda5上,则输入:set root=(hd0,5) 3. insmod normal 加载正常模块。 如果模块加载则不会出现任何消息。 如果模块加载失败,请尝试完整路径:insmod (hdX,Y)/boot/grub/normal.mod 4. 正常 过渡到具有增强功能的正常 GRUB 2 模式。 如果模块加载则不会出现任何消息。 如果模块加载,则应该可以使用 UP/DN 键进行帮助、TAB 完成和命令调用。 5. 设置 (可选)检查当前设置。 6. 安装 Linux 加载linux模块。错误信息通常意味着路径不正确。 7.* Linux /vmlinuz 根目录=/dev/sdXY ro 选择最新的内核。 例如:linux /vmlinuz root=/dev/sda5 ro 如果 / 中不存在 vmlinuz 符号链接,则使用 /boot 中内核的完整路径 例如:linux /boot/vmlinuz-3.2.0-14-generic root=/dev/sda1 ro 8. initrd /initrd.img 选择最新的 initrd 映像。 如果 / 中不存在 initrd 符号链接,则使用 /boot 中 initrd 映像的完整路径 如果成功,按 ENTER 键后将会有短暂的延迟并且不会出现任何消息。 9. 启动
有关可用的 Grub Rescue 命令的更多详细信息和定义,请参阅Ubuntu 社区帮助文档。这就是上面的 Grub Rescue 命令的来源。
我用过它,习惯之后会发现它相当简单。但向新手解释起来并不像实际使用那么容易。当你执行这些步骤时,它会开始变得更有意义。
使用 Testdisk 恢复丢失的分区和文件
$ sudo 测试磁盘 1:选择创造 - 进入 2:选择创造 - 进入 3:选择磁盘-继续 4:选择英特尔 - 进入 5:选择分析 - 进入 6:选择快速搜索- 进入
如果它找到您的 Ubuntu 分区,您将看到它被列出。您可以通过它的name
、size
和type
( ext4
) 来识别它。
选择 Ubuntu Partition 并按ENTER
。然后选择Write
恢复分区的选项。
如果恢复分区时遇到问题,请使用该Deeper Search
选项。
如果之后Deeper Search
您仍然无法恢复整个分区,请选择恢复文件的选项。然后您就可以选择需要恢复的重要文件。
如果您要恢复文件,则必须有一个驱动器来恢复文件。有时恢复需要花费大量时间和金钱。您可能需要投资购买类似 USB 转 Sata 适配器的东西,并将其连接到您的系统以恢复文件。根据文件数量,120G USB Pendrive 可能足以用作备份介质。
您可以查看使用的详细信息Testdisk
:TestDisk 详细步骤。
答案2
这正确的答案是 Windows 10 进行了“周年更新”,它清除了您的 Ubuntu 分区。感谢微软!如果您仍可以启动 Windows,请让它完成安装所有更新,然后再尝试恢复 Ubuntu。
当启动到 Ubuntu Live DVD/USB 时,您可以testdisk
在终端中安装,并尝试恢复丢失的分区,但这并不容易。
要安装并运行 testdisk,请在终端中输入以下命令:
sudo apt-get 更新 sudo apt-get 安装 testdisk sudo 测试磁盘
看http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step了解入门的分步过程。您需要输出sudo fdisk -l (小写 L)使用 testdisk。
如果您无法使用 testdisk 恢复,则需要重新安装 Ubuntu。
有问题?有问题?请告诉我们您的情况。谢谢,Al
答案3
尝试一下这种方法,它对我很有用。访问 启动选项Windows 并转到启动设置
进入配置页面后,您将看到 BOOT 选项。您可以在此处更改 OS 启动顺序选项。将 Linux 保留为启动顺序中的第一个选项。
您也可以grub-customizer
在成功登录 Ubuntu 后进行安装。这可以为您提供修改启动选项的各种选项。
答案4
在 Linux 之后安装 Windows 将从系统中删除 grub。此时,您有两个选择:使用 BIOS 选择 Ubuntu 作为启动操作系统。这将要求您在计算机启动时按 F12 或其他功能键来调出更改启动设备列表。
另一个选项是制作一个包含引导修复的实时可启动 USB,并在计算机启动时启动它。在后续选项中,只需选择推荐的修复。这将在您的系统上重新安装 grub,一切应该会正常工作。