如何从双引导系统中删除 Linux,同时保持 FreeDOS 可引导?

如何从双引导系统中删除 Linux,同时保持 FreeDOS 可引导?

我从 LiveCD 在 FreeDOS(不是 Windows)旁边安装了 Linux Mint,现在我有一个双引导系统。我想删除 Linux 并返回到之前以 FreeDOS 作为唯一操作系统的情况。

但如果我只删除 Linux 分区,FreeDOS 可能无法启动。我已阅读有关删除 Linux 和恢复 Windows 可启动性的教程,但我应该为 FreeDOS 做什么?

HDD分区是主引导记录。磁盘管理器显示:

分区 1 /dev/sda1 类型 FAT32(某些 HP 文档)

分区 2 /dev/sda2 类型 FAT32 可启动 (FreeDOS)

分区 3 /dev/sda3 类型扩展

分区 5 /dev/sda5 类型 Linux,ext4,安装在文件系统根目录。

分区 3 和 5 是由 Linux Mint 安装程序创建的。我不知道 Grub 在哪里,安装程序自己完成的。

(2天后:谢谢telcoM,一切顺利!)

答案1

由于 Linux Mint 可能使用相当新版本的 GRUB,因此其核心可能已嵌入到 MBR 以及 MBR 块与第一个分区开头之间的磁盘块中。它的配置和可能的一些模块可能是从/boot/grub上的目录加载的sda5。即使 FreeDOS 分区被标记为活动状态,GRUB 也会启动并允许您在 FreeDOS 和 Mint 之间进行选择,这一事实支持了这一点。

我不确定,但我怀疑 GRUB 可能是通过链式加载sda2分区的第一个块来启动 FreeDOS,因此 FreeDOS 的引导加载程序可能完好无损。您应该阅读 Linux Mint 中的 FreeDOS 引导部分/boot/grub/grub.cfg来确认这一点。

如果确实如此,为了有效地从系统中删除 GRUB,您需要做的唯一一件事就是用更传统的 MBR 引导代码替换 MBR 中的 GRUB 引导代码。完成这项任务最简单的工具可能是ms-sys。您可能会发现它是 Mint 的可选包,因此您不必从源代码构建它。

警告:以下任一命令将立即替换特定磁盘的 MBR 中的引导代码(不会损害分区表),覆盖 GRUB 并使 Linux Mint 在没有外部引导介质的情况下无法引导。撤消此操作需要将 GRUB 重新安装到 MBR 等sudo grub-install /dev/sda或类似操作。在继续之前,请确保您真正了解自己在做什么。

最“标准”的 MBR 启动代码可能是 Windows XP 使用的代码:

sudo ms-sys -m /dev/sda

但如果您希望系统完全不受 Microsoft 知识产权的影响,您可能需要使用 SYSLINUX 引导加载程序项目中的公共域 MBR 引导代码:

sudo ms-sys -s /dev/sda

从技术上讲,MBR 和第一个分区开头之间的磁盘块中会有一些 GRUB 的剩余位,但是一旦 GRUB 的 MBR 部分被更传统的引导代码覆盖,GRUB 的那些剩余部分将不能被任何东西访问。仔细的取证检查可能会发现 GRUB 曾经安装到该系统中,但仅此而已。

我对 FreeDOS 的当前状态不是很熟悉,但如果它仍然像经典的 MS-DOS 那样,那么在 FreeDOS 中覆盖 GRUB 的命令可能是FDISK /MBR

相关内容