![图像究竟是如何被系统变成“可引导”的?](https://linux22.com/image/1500855/%E5%9B%BE%E5%83%8F%E7%A9%B6%E7%AB%9F%E6%98%AF%E5%A6%82%E4%BD%95%E8%A2%AB%E7%B3%BB%E7%BB%9F%E5%8F%98%E6%88%90%E2%80%9C%E5%8F%AF%E5%BC%95%E5%AF%BC%E2%80%9D%E7%9A%84%EF%BC%9F.png)
我早就知道不能简单地将磁盘映像放在 CD 或 USB 闪存驱动器上并期望它能够启动,但哪些特性使得映像能够启动呢?
我之所以问这个问题,是因为我的一台电脑崩溃了,而我当时正试图在我的 Ubuntu 电脑上制作一个可启动的 DBAN 版本。用于将映像写入 USB 闪存驱动器的所有 Linux GUI 程序都无法正常工作,因此我尝试使用命令dd
来执行此操作。
它成功地写入了闪存驱动器,甚至在文件管理器中重新命名了 USB 闪存驱动器DBAN
,并以似乎正确的方式放置了文件。但是,它无法从任何计算机启动。但我尝试使用布拉塞罗将图像写入磁盘并且它可以像往常一样工作。
答案1
存在引导扇区引导某种系统映像。在过去,要使软盘 MS-DOS 可引导,您必须将其格式化为可引导(在磁盘的第 1 和第 63 个扇区上创建 MBR,并将分区标记为活动分区)并将一些系统文件复制到其中。某些文件系统和 BIOS 需要特殊标志来告诉 BIOS 系统是否需要实现某种引导扇区。
当系统尝试启动时,BIOS/固件会从启动设备中选择启动扇区,将其放入 RAM 中,然后读取它以确定启动加载程序在磁盘上的位置。然后执行启动加载程序。
对于 CD,ISO-9660 规范定义了主卷描述符指定 TypeCode 为“0”和埃尔托里托地址 0x11 处的引导记录,它又指示引导目录结构。固件从目录中加载引导指令,指示引导加载程序的位置。