
我目前正在嘗試從 Windows 命令列/powershell 完成以下操作 - 從 ISO 建立可啟動分割區,為其新增啟動項目並從中啟動。值得注意的是,ISO 通常包含一個小型 Linux 發行版。這一切都必須透過命令列、透過另一個應用程式(Windows 服務,如果重要的話)來完成。
到目前為止我的進展:
- 取得 DBAN 的 ISO 檔案(或其他擦除程序,沒關係)- 完成。
- 建立分區 - 完成
diskpart
。我創建了一個primary
大小為 10 GB 的分割區。格式化為 FAT32。給它分配了一個字母,我們稱它為X:
- 透過 (Powershell) 安裝 ISO 檔案
Mount-DiskImage
- 將映像安裝到新磁碟區上,稍後我可以透過 找到該磁碟區wmic
。Y:
現在讓我們命名 ISO 的磁碟區。 - 將檔案從「iso 分割區」複製
X:
到xcopy Y:\*.* X: /s/e/f
- 使用以下命令使用 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
after的範例輸出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\
,並將其用作path
BCD 條目中的條目。然而,EasyBCD 在我的情況下不可用,我只是想檢查它創建了哪些條目,我也不知道如何創建像AutoNeoGrub0.mbr
.
任何關於我錯誤的地方的建議或幫助將不勝感激。提前致謝。
答案1
我已經成功地使用GRUB4DOS
.這就是我所做的:
- 下載
GRUB4DOS
並解壓縮進去C:\
- 建立了一個啟動項
bcdedit
(path \grldr.mbr
將device partition=C:
其命名為 WipeISO) - 編輯
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。選擇第二個可成功運行擦除程式/發行版。