我有一个 bootrom 文件(二进制文件),我使用 Linux cp 将其复制到 USB 驱动器上(以启动目标)(我也尝试过使用 dd)。该文件被复制到使用 FAT16 格式化的第一个分区(bootrom 要求):
设备引导开始结束块 ID 系统 /dev/sdc1 * 63 3037859 1518898+ 6 FAT16 /dev/sdc2 3037860 30361589 13661865 c W95 FAT32 (LBA)
当我尝试启动目标时,bootrom 正在加载(我知道这一点是因为在此阶段打印了一些字符),但随后它就挂起了。如果我从 Windows 主机复制文件,则不会出现此问题。文件的内容没有改变,无论我从Linux还是Windows复制它,都是一模一样的。我发现,如果我重命名 USB 驱动器上的工作文件,也会发生这种情况。
我认为这不是我的 Linux 安装的问题,因为我也在不同的 Linux 主机上尝试过。
主机操作系统:Linux Mint 17.3 Cinnamon 64 位 内核:3.19.0-32-generic
编辑:我找到了一种方法来使用mcopy
。
我在 /etc/mtools.conf 中添加了以下行:
驱动器 u: file="/dev/sdc1"
但是,当我尝试执行以下操作时:
$ mcopy bootrom.bin u:bootrom.sys # 由于某些原因,我收到以下错误: 无法打开 /dev/sdc1:权限被拒绝 无法初始化“U:” 错误目标 u:bootrom.sys # 使用须藤: $ sudo mcopy bootrom.bin u:bootrom.sys 无法初始化“U:” 错误目标 u:bootrom.sys
因此,我继续执行以下似乎有效的解决方法:
$ 复制 bootrom <挂载点>/文件 $ CD $ mcopy 文件 bootrom.sys