我的系统上运行着双操作系统(默认是 Windows 10,然后我在 Windows 旁边安装了 Ubuntu)。为了删除 Windows 并仅保留 Ubuntu,我登录到我的 Ubuntu(从 GRUB 选择 Ubuntu),使用 Gparted,并删除了所有分区,除了以下分区:-
- 包含 Linux 安装的分区
- Linux交换空间分区
- 其他 NTFS 分区 - 包含我的数据。
所以,基本上我删除了Windows C分区,系统保留分区, 和EFI分区。
这导致我的 Ubuntu 无法加载。
按照指示这个答案,我使用了可启动 USB 驱动器(波特乌斯Linux)并从中启动(在试用模式下)。
使用 Gparted,我创建了一个名为“EFI 系统分区”的新分区,将其标志设置为引导,特别是。
我的分区现在看起来像这样:- 然后我使用安装了 GRUB这指导。
请注意,我的 efi 分区的名称不是 /boot/efi,而是 /dev/sda1。
不知何故,GRUB 菜单又回来了,正如我在启动 PC 时看到的那样。
但是,当我尝试从那里选择 Linux 时,我收到以下错误:-
即使现在,我似乎也无法启动我的 Ubuntu。
我可以做什么来解决这个问题?
答案1
欢迎来到 Unix 和 Linux StackExchange!
/dev/sda1
是与您的 EFI 系统分区对应的 Linux 设备的名称,也是/boot/efi
EFI 分区预计挂载的位置。
ACPI 错误消息可能不是致命的,而且很可能是无关的。 Linux 内核已成功启动,但启动过程中出现问题。由于您已经销毁并重新创建了一些分区,最可能的原因是文件的内容/etc/fstab
不再与磁盘的实际分区匹配。
要在此状态下执行任何操作,您首先需要输入 root 密码。如果您没有设置特定的root密码,它可能与安装系统时创建的第一个用户帐户的密码相同。在按 Enter 之前,不会出现星号或任何可见的按键确认。如果您可以成功输入 root 密码,您将进入具有 root 权限的命令提示符,并可以开始检查和修复问题。
该/etc/fstab
文件指定应作为引导过程的一部分自动安装的磁盘设备,以及它们的安装点位置和安装选项。除非明确指定,否则系统将假定所有指定的安装都是绝对必要的,并且即使单个指定的安装失败,也会停止引导过程并退回到基于文本的紧急模式。
在 中/etc/fstab
,您可以通过设备名称(如/dev/sda1
)或文件系统 UUID(如 )来指定磁盘设备UUID=<some hexadecimal numbers>
。 UUID 是在创建文件系统(“格式化”)时生成的数字,本质上是随机的。默认情况下,现代Ubuntu使用后一种方法来指定EFI系统分区需要挂载到/boot/efi
.结果行/etc/fstab
应该看起来像这样:
UUID="XXXX-XXXX" /boot/efi vfat umask=0077,shortname=winnt,flush,tz=UTC,codepage=437,iocharset=iso8859-1 0 2
即使您更改了硬件配置,系统也可以安装正确的分区,从而不再按照以前的顺序检测磁盘。
现在,由于您已删除并重新创建了 EFI 系统分区,因此其 UUID 已更改。但您遵循的说明似乎没有包含任何更新建议。您可以使用该/sbin/blkid /dev/sda1
命令找出新的 UUID。响应应该是这样的:
/dev/sda1: LABEL="EFISYS" UUID="1BC6-5A0E" TYPE="vfat" PARTLABEL="EFISYS" PARTUUID="4fb8aadb-9507-44b5-8cab-a052a0091e2b"
重要的是这UUID="1BC6-5A0E"
部分:它告诉您更新文件所需的 UUID /etc/fstab
。 (PARTUUID
中未使用/etc/fstab
,但如果您曾经使用该命令编辑固件启动设置efibootmgr
,请注意与其一起使用的 UUID 是专门的 PARTUUID。)
最有可能的是,一旦您输入 root 密码并进入紧急命令提示符,您将只需要几个命令。
要找出新的 UUID:
/sbin/blkid /dev/sda1
编辑/etc/fstab
文件:
nano /etc/fstab
如果nano
编辑器无法保存修改后的文件,您可能需要运行此命令,然后尝试再次编辑该文件:
mount -o remount,rw /
成功编辑文件后/etc/fstab
,您只需使用该exit
命令退出紧急命令提示符并恢复启动过程。