我的 mbr (+ 以下扇区) 上目前安装了 burg 引导程序,我想将其安装在引导分区上,并用一个简单的 mbr 替换该 mbr,该 mbr 将引导标记为活动的分区(某些分区工具中的“引导”标志)。
尽管我懂得足够的编程知识,可以用汇编语言编写一个引导扇区来查找第一个活动分区并加载它,但我宁愿使用现有的引导扇区。
在哪里可以找到这样的引导扇区?也许默认的 Windows 引导扇区可以做到这一点?
我为什么要这么做
我在 Windows 上有一个工具(3DS Max),每次运行时都会破坏 burg 引导加载程序。显然,它包含一个名为柔性网络它会标记你的计算机说“嘿,3DS Max 安装在这里,不幸的是,它将这些信息写入了引导扇区之后的 63 个扇区之一中,并且 burg 就安装在那里(我会将这种行为称为“恶意软件”或“严重错误”)。
最新版本的 grub 现在可以检测应用程序何时破坏了你的启动,并使用不同的扇区,但 burg(grub 的图形变体)缺少该补丁。
因此,我决定在启动分区上安装 burg,将该分区标记为活动分区,并且只使用单扇区引导加载程序,它将找到活动分区并启动它(PC 引导扇区在过去就是用来做这件事的)。
答案1
因此,我决定在启动分区上安装 burg,将该分区标记为活动分区,然后只使用单扇区引导加载程序,它将找到活动分区并启动它
很好,因为引导管理器/引导加载程序认为该空间是空闲的,就像 FlexNet Publisher 认为那样,都是不好的。除了 EFI 分区磁盘上该空间不是空闲的之外根本,只是偶然和习惯才使得一些MBR 分区磁盘。毕竟,世界开始已经有好几年了不是从“轨道” 1 的起点开始第一个分区,并将分区对齐到从 4KiB 到多 GiB 边界的任何位置。
(在过去的美好时光里,PC 引导扇区就是用来做这件事的)。
有很多方法可以将引导代码写入主引导记录,例如 Microsoft 实用程序
bootsect /nt60 SYS /mbr通过 FreeBSD 实用程序
fdisk -B ada0Linux 实用程序
ms-sys --mbrsyslinux /dev/sda
我newmbr
自己编写了两个程序。
在“救援”磁盘和分区工具中,有大量实用程序可以执行此操作。我听说有些人甚至有在 EFI 分区硬盘上执行此操作的代码。☺
进一步阅读
- Jan van Wijk(2012-09-11)。 MBR 或 EBR 区域操作. DFSEE 手册。
bootsect
. TechNet。2009-10-22。微软公司。fdisk
(8). 2013-10-01. FreeBSD 手册页。ms-sys
SourceForge。- 乔纳森·德·博因·波拉德 (2011)适用于 EFI 分区磁盘的 PC/AT 风格 MBR 引导程序. 软件。
- 乔纳森·德·博因·波拉德 (2011)“活动”分区属性。 PC/AT 启动过程. 常见问题答案。
答案2
我相信,一旦你安装了引导加载程序,你的膜生物反应器已经使用 BootStrap 代码正确设置。这就是您所需要的。如果您已将引导加载程序转移到另一个分区,那么您所需要做的就是更改 MBR 中的活动分区标志。还要确保分区类型正确。
您可以通过手动编辑 MBR 来更改该标志(日命令 + 一个不错的十六进制编辑器就可以了,分区条目从偏移量 1BEh 开始)或者使用一些实用程序,如磁盘管理或者分区。
*编辑:
您也可以尝试直接在单独的分区上安装 BURG,就像安装 GRUB 一样,而不是进行传输:
sudo burg-install –force –root-directory=/media/BootPartitionMountPoint /dev/sda
这将配置一个正确的 MBR,其中包含跳转到您的启动分区挂载点并加载 BURG。