长话短说:我正在双启动 Windows 10 和 Kali Linux,但我不想使用 grub 引导加载程序。
有没有办法更改为 Windows 10 启动加载程序并从那里在 Kali 和 Windows 之间进行选择?
答案1
为 Ubuntu 编写,但适用于所有发行版
假设驱动器分区为(根据您的情况进行相应修改)
/dev/sda1 - 100 MB - Win 保留
/dev/sda2 - 252 GB - Win(c: 驱动器)
/dev/sda3 - 31000 MB - Ubuntu {挂载点 - /}
/dev/sda5 - 1000 MB - 交换 {逻辑}
/dev/sda6-可选创建- FAT32 文件系统 - {挂载点 - /media/share}
安装过程中的关键步骤是:我们需要告诉 Ubuntu 安装程序在哪里安装系统引导加载程序 (GRUB 2)。我们不想在 /dev/sda 上安装引导加载程序,因为那样会覆盖磁盘的主引导记录,也不想在 /dev/sda1 或 /dev/sda2 上安装它,因为那样会覆盖 Windows 引导管理器文件和引导配置数据,或操作系统本身。相反,让我们让 Ubuntu 在将包含 Ubuntu 操作系统的分区上安装其引导加载程序 - 在我们的例子中是 /dev/sda3。为此,请单击
“用于安装引导加载程序的设备”
并选择 /dev/sda3 。
选择“立即安装”,Ubuntu 将开始安装。安装完成后,系统会询问您是否要重新启动或“继续测试”。您应该选择继续测试,因为以下步骤需要访问终端。
配置 Windows 进行双启动
现在我们已经对磁盘进行了分区并安装了 Ubuntu,让我们设置系统以启动 Windows 或 Ubuntu。这将涉及将 Ubuntu 分区的启动记录复制到 Windows,并使用 BCDEdit 在 BCD 存储中创建一个指向该文件的新条目。这样,Windows 将在启动时显示一个菜单,让您在 Windows 和 Ubuntu 之间进行选择。
首先,让我们为创建的 FAT32 分区创建一个挂载点。打开终端并输入以下内容:
sudo su
mkdir /mnt/share
接下来,让我们将正确的设备挂载到此目录。回想一下上面的分区步骤,FAT32 分区位于设备 /dev/sda6:
mount /dev/sda6 /mnt/share
将我们的 Ubuntu 分区的前 512 个字节写入一个文件,然后将该文件复制到我们的 FAT32 分区:
dd if=/dev/sda3 of=/mnt/share/ubuntu.bin bs=512 count=1
注意:上述步骤中使用 FAT32 分区是可选的。您可以选择使用其他设备(例如 USB 驱动器)来复制 *.bin 文件。
退出 Ubuntu 实时系统并重新启动 Windows。在此过程中,您可能会看到 Windows 执行磁盘检查(不用担心,这是正常现象,并且这些过程只会发生一次)。登录 Windows 并打开您创建的 FAT32 卷,您应该会看到 ubuntu.bin 文件。将该文件复制到 Windows 卷的根目录(例如 C:)。
现在我们将使用 BCDEdit 向 Windows 的 BCD 存储添加条目。使用 BCDEdit 需要管理员权限,因此请使用 Win+r,键入 cmd,然后按
CTRL+SHIFT+ENTER
。让我们首先为我们的 Linux 发行版创建一个条目。请注意,如果需要,您可以自由选择其他条目名称:
bcdedit /create /d “Ubuntu” /application bootsector
BCDEdit 将返回此条目的字母数字标识符,我将在其余步骤中将其称为 {ID}。您需要用实际返回的标识符替换 {ID}。{ID} 的一个示例是 {d7294d4e-9837-11de-99ac-f3f3a79e3e93}。接下来,让我们指定哪个分区托管 linux.bin 文件的副本:
bcdedit /set {ID} device partition=c:
我们的 ubuntu.bin 文件的路径:
bcdedit /set {ID} path \ubuntu.bin
启动时显示的菜单条目:
bcdedit /displayorder {ID} /addlast
最后,让我们指定菜单选项的显示时间:
bcdedit /timeout 30
就是这样!现在重新启动,您将看到一个菜单,您可以在其中选择启动 Windows 或 Ubuntu。当您选择 Ubuntu 时,您将进入它的引导加载程序菜单,您可以在其中选择继续启动 Ubuntu。
最后要说的是,如果您想消除 Ubuntu 菜单选项,只需使用以下命令删除您创建的 BCD 存储条目:
bcdedit /delete {ID}