我正在尝试新的发行版,我想清理我所有的 Ubuntu 安装。我有一个双启动 W 8.1 - Ubuntu。这是我到目前为止所做的:
1 - 我从 BIOS 更改了启动优先级。2
- 我清除了安装操作系统的分区(交换分区和主分区)。我为此使用了 Windows。3 Disk Manager
-
我修复了 Windows 安装(转到系统控制台并执行bootrec /fixmbr
和bootrec /fixboot
)。我遵循了以下操作:https://askubuntu.com/a/215350/332527。
完成所有这些步骤后,我的 BIOS 一直显示以下内容:
我猜想某些 Ubuntu 文件仍安装在某处(事实上,我仍然可以访问 grub,而我本不应该这样做)。我该怎么办?
附言:如果我访问 Windows 8.1 重启选项(按住 Shift 键并单击重启),然后转到Use a device
,我有一个可以加载 Grub2 的 Ubuntu 选项。
答案1
作为第一步启动活动磁盘:
然后安装 efibootmgr:
sudo apt update
sudo apt install efibootmgr
然后加载内核efivars
模块:
sudo modprobe efivars
然后运行sudo efibootmgr
检查你的启动项。它将返回如下内容:
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000,0004,0002,0003
Boot0000* Windows Boot Manager
Boot0001* ubuntu
Boot0002* Hard Drive
Boot0003* CD/DVD Drive
Boot0004* ubuntu
然后删除您不想在 BIOS 中显示的内容。
例如,我们想从 BootOrder 中删除 Ubuntu。因此运行以下命令(在我的示例中,Ubuntu 指的是 1 和 4 启动顺序,但您必须将这些数字替换为您自己的数字):
sudo efibootmgr -b 1 -B
sudo efibootmgr -b 4 -B
然后还应该删除ubuntu
EFI分区中的子目录,以防止UEFI固件恢复进入BootOrder。
为此,首先找到您的 EFI 分区。因此运行以下命令:
sudo fdisk -l
(EFI 分区EFI System
在类型列下。)
例如,我的情况/dev/sda2
是 EFI 分区:
/dev/sda1 2048 923647 921600 450M BIOS boot
/dev/sda2 923648 1128447 204800 100M EFI System
/dev/sda3 1128448 1161215 32768 16M Microsoft reserved
/dev/sda4 1161216 425428991 424267776 202.3G Microsoft basic data
/dev/sda5 425428992 1347025381 921596390 439.5G Microsoft basic data
/dev/sda6 1347026944 1395853311 48826368 23.3G Linux swap
/dev/sda7 2166228992 3907025693 1740796702 830.1G Microsoft basic data
/dev/sda8 1395853312 2166228991 770375680 367.4G Linux filesystem
因此,将 EFI 分区安装在任意位置的空文件夹中。
sudo mkdir /mnt/boot
sudo mount /dev/sda2 /mnt/boot
现在在这个分区中找到目录Ubuntu
或任何其他发行版的名称。它通常位于 下efi/ubuntu
。
使用以下命令删除该目录及其内容:
cd /mnt/boot/efi/
sudo rm -r ubuntu