有没有办法将 ISO 文件的内容复制到特定的 Windows 分区并从该分区启动?

有没有办法将 ISO 文件的内容复制到特定的 Windows 分区并从该分区启动?

我目前正在尝试从 Windows 命令行/powershell 完成以下操作 - 从 ISO 创建可启动分区,为其添加启动项并从中启动。需要注意的是,ISO 通常包含一个小型 Linux 发行版。所有操作都必须通过命令行、通过另一个应用程序(如果重要的话,是 Windows 服务)完成。

我目前的进展:

  1. 获得了 DBAN 的 ISO 文件(或其他擦除程序,无所谓)——完成。
  2. 创建分区 - 完成diskpart。我创建了一个primary大小为 10 GB 的分区。格式为 FAT32。为其分配了一个字母,我们称之为X:
  3. 通过 (Powershell) 挂载 ISO 文件Mount-DiskImage- 将映像挂载到新卷上,稍后我可以通过 找到它。现在wmic让我们命名 ISO 的卷。Y:
  4. 将文件从“iso 分区”复制X:xcopy Y:\*.* X: /s/e/f
  5. 使用 bcdedit 创建启动项,使用以下命令:
  • bcdedit /create /d "DBAN_Test" /application bootsector- 产生 guid,我将为其使用 {ID}。
  • bcdedit /set "{ID}" device partition=X:
  • bcdedit /set "{ID}" path \ISOLINUX.BIN例如X:\ISOLINUX.BIN

之后的输出示例bcdedit(针对新条目):

Real-mode Boot Sector
---------------------
identifier           {ID}
device               partition=X:
path                 \ISOLINUX.BIN
description          DBAN_TEST

但是,当我从启动选项中选择它时,它给出了以下错误:

isolinux: Failed to locate CD-ROM device; Boot failed.

我想说的是,我已经设法使用 EasyBCD(GUI 程序)实现了这一点,并且它成功启动了 DBAN。我假设它正在执行我已经执行的一些命令。它AutoNeoGrub0.mbr在 中创建了一个文件C:\NST\,并将其用作pathBCD 条目中的条目。但是,EasyBCD 在我的情况下不可用,我只是想检查它创建了哪些条目,我也不知道如何创建像 这样的 MBR 文件AutoNeoGrub0.mbr

任何有关我错处的建议或帮助都将不胜感激。提前致谢。

答案1

我已经设法使用 来做到这一点GRUB4DOS。这是我所做的:

  1. 下载GRUB4DOS并解压到C:\
  2. bcdedit创建一个具有和的path \grldr.mbr启动项device partition=C:(将其命名为 WipeISO)
  3. 编辑内容menu.lst如下:
color blue/green
timeout 5
default /default

title Boot Windows
fallback 2
find --set-root --ignore-floppies /bootmgr
chainloader /bootmgr
savedefault --wait=2

title Wipe ISO
find --set-root /iso/WipeISO.iso
map -heads=0 --sectors-per-track=0 /iso/WipeISO.iso (hd32)
map --hook
chainloader (hd32)

重启后,我得到 2 个选项 - Windows 和 WipeISO。选择第二个选项可成功运行擦除程序/发行版。

相关内容