NoName Team 電腦資訊討論區

 找回密碼
 我要註冊
搜索
12
返回列表 發新帖
樓主: 阿達金田一

Acronis Boot ISO 檔案結構分析 + 自製ISO工具包

[複製鏈接]
 樓主| 發表於 2022-5-30 01:24:56 | 顯示全部樓層
本帖最後由 阿達金田一 於 2022-5-30 02:22 編輯
aru1124 發表於 2022-5-29 16:49
請問一下 : 個人使用 19041PETW_20200830L.iso 這個版本因為 UEFI 模式下, 無法使用直接開啟  .ISO檔 。因 ...

https://www.t-tech.com.tw/b1page-b1_25035-b1--2304.html
https://kb.acronis.com/content/59611
https://www.youtube.com/watch?v=AY89TDn_F5U&ab_channel=BagaudinAcronis

補充說明一下...
主題的 Acronis boot iso , OS 是用 Linux
(現在我不清楚...但我猜應該都是 Linux .... 因為 Linux 不用錢啊)
只能說是 Linux OS +  Linux 版的 Acronis ...
所以不是 Win版 Acronis 的本體

而一般安裝在 Win 上的...本體當然是 Win 版本...這個我沒用過
但 備份還原 一般來說
就是用 備份還原系統 執行 備份還原程式 去 備份還原 ...非使用中的 系統
雖然現在是有些程式可以直接備份使用中系統...但一般怕遇到問題或麻煩
大多還是到 備份還原系統 去備份還原

而 備份還原系統 基本上常見的大多是 Linux 或 PE
也就是 Live 系統
Linux - Linux Live
Windows  - Windows PE
而因為 $$ 或 版權問題
就我知道的 備份還原 大多數的 Boot ISO 也都是用 Linux Live ... 而不是用 PE

不過有些 備份還原程式 應該是像  Acronis 一樣可以生成 PE ISO (或有 PE版本)

但是...看我開頭貼的那些參考資料就知道...
其實  Acronis 也只是用 Windows 的工具(AIK , ADK , WDK)...去成生 WinPE
然後把 PE版(精簡的Win版???)...整合到  PE 中...再建立 Boot ISO 或 Boot USB

網上其實可以找到 PE 版的 Acronis (不過大多數 True Image  , 而且大多也是大陸那邊的)
推測要嘛是 Windows 版...自行精簡搞出來的
要嘛就是先用 Windows Acronis 做出 PE ISO 後從中擷取出來 PE版的 Acronis

而我主題是在說 Acronis 官方的 Boot ISO
這應該都是用 Linux Live 的 Boot ISO ... 檔案和結構 和 PE 不一樣
要 PE 版的 Boot ISO
基本就是在 Windows 中用 Windows 版 Acronis 去成生 PE版 Boot ISO
( 不然就是網上找找看有沒有人做好 Acronis PE ISO 有分享出來 )

也就是說如果 UEFI 要用 Linux Live ISO 開機...你要學的是 Linux 的 UEFI 開機
簡單說 UEFI 的開機管理...要改用 GRUB2 或 refind 之類的

因為我沒在用 Windows Acrions , 對 grub2 和 refind 也不熟
所以就你的問題...我只能貼貼參考資料
或者 看有沒有其它高手回答
發表於 7 天前 | 顯示全部樓層
抱歉...我搞不太懂
目前手上有個2026的ISO檔 是LINUX LIVE內容
我要如何修改bootmenu.xml 及\efi\bootx64.xml ?
我想改成自動進入acronis跟中文介面
但我改過後 UltraISO另存都不能開機了...
用大大提供的工具也不成功
應該是我不太會用...我要如何做才可以呢?
 樓主| 發表於 6 天前 | 顯示全部樓層
本帖最後由 阿達金田一 於 2026-7-3 12:23 編輯
saiz 發表於 2026-7-2 22:50
抱歉...我搞不太懂
目前手上有個2026的ISO檔 是LINUX LIVE內容
我要如何修改bootmenu.xml 及\efi\bootx64.x ...

可能要看了 2026 的 ISO 才知道
因為這個主樓也是9年前發的...ISO 代差都快 10年了
主文中的內容可能不適用 2026 ISO
可以的話提供 ISO 的來源

另外我映像中...當初這個主題主要目的是要替 ISO 瘦身
另外我工具主要是把 IMA 變成 ISO
但 IMA 要手動自行處理(建立) (用工具包中的 winimage 8.5)
就是主文中修改的那一堆...不是直接修改 ISO
而是從ISO中提取檔案出來...修改後...製作成 IMA
再用工具把 IMA 變成 ISO

原裡也很簡單...就是 IMA 是 UEFI 的 開機映像檔
先用 oscdimg.exe 建立 ISO + Leagcy Boot
但這樣建立的 ISO 只支援 Leagcy(CSM) 啟動
之後用我自製的程式修改成支援 UEFI 啟動
指定用 IMA 做 UEFI 開機映像檔

所以簡單說 主文 和 工具 不是直接修改 原ISO
而是從 原ISO 提取 主要相關檔案 , 然後製作 IMA
再用 IMA 另外建立新的ISO (和原ISO 完全不一樣)

另外 UltraISO 比較適合一般 ISO 修改
對 Boot ISO , 尤其是比較特別的 Boot ISO
最好不要用 UltraISO 因為可能會破壞 ISO 開機引導 的部份
所以你用 UltraISO 修改後...不能開機很正常
 樓主| 發表於 6 天前 | 顯示全部樓層
本帖最後由 阿達金田一 於 2026-7-3 09:18 編輯

先說一下主文中的提到的...要有一定的技術基礎
沒辦法很簡單就可以修改

另外如果你想修改...
我建議你用 7zip 提取 ISO
可能會讓你比較容易理解 Boot ISO  的結構

以下是我在網上隨便找的 官方ISO (42980)
用 7zip 開啟的情況
ISO 523,042,816 Bytes
可以看到 [BOOT] 開機引導/映像 有 522,928,128
注意 7zip 中 [BOOT] 是指 ISO 中 開機啟動區
這並不是一般 ISO中的檔案, 掛載ISO 也不會在ISO中顯示
ATI2026_01.jpg

[BOOT] 中有2個 開機映像 大小分別是 2048 和 522,926,080
2048 是 Legacy BIOS 用的
522,926,080 是 UEFI 用的 IMG
ATI2026_02.jpg

另外...我主文有說過...這裡再提一下
ISO 最前面 512 byte 通常是 填0 資料
Acronis 部份的 boot iso ... 前 512byte 是寫入 FAT16 的檔頭

如果用 UltraISO 開啟.... 可以發現...類型是顯示 "磁片映像檔" ...  然後內容其實是 uefi boot img
用 winimage 則會出錯無法開啟 ...
WinRAR , 7z  是正常識別為 ISO

遇到這種情況...如果要用 UltarISO 或 wiimage 正常開啟... ISO 前面 512bytes 可以用 16進位編輯程式 填0
不過...只是擷取檔案的話...其實沒影響 ... 用 WinRar 或 7z 就可以

我不知道新版的 UltraISO 是否能分辨 ATI Boot ISO
舊版 UltraISO(我手邊是用9.5) 的會把 ATI Boot ISO 識別為 磁碟映像檔 (所以不能正常處理)
ATI2026_03.jpg

7zip 開啟 2-Boot-NoEmul.img
ATI2026_05.jpg

ATI2026_04.jpg


如果計算一下 ISO 大小 , 就可以知道
ISO 檔案 + ISO [BOOT] (開機映像/引導) 早就超過 500M 了
Acronis 官方的 Boot ISO 基本有做特殊的結構優化
一份檔案只在 ISO 儲存一份共用 ( ISO 和 [BOOT] IMG 中共用 )
所以才維持在 500M

但一般情況下(無優化時), 通常只能分開儲存, 會要額外多一倍的大小
也就是說如果會自行修改...改完...無優化...ISO 也會多一倍大小

當初主文中的方法
其實是參考國外的技術資料和影片
簡單說...就是捨棄 ISO 中的檔案 ( ISO 中只有一個 UEFI 開機用的 IMG/IMA)
然後 Legacy/UEFI 開機時, 其實都是共用同一 IMG 中的 ATI檔案 (但開機引導不同)

主文中的做法
其實就是手動修改相關設定檔案, 並做出 UEFI IMA/IMG
然後直接將 UEFI IMA 建立成 ISO ( ISO 中只有一個 boot.img/boot.ima 一個檔)
用自製程式在 [BOOT] 中補回 UEFI 開機用的資料 (指向 ISO 中的 boot.img/boot.ima)
做完後...在 7zip 中如下
ATI2026_06.jpg
ATI2026_07.jpg


 樓主| 發表於 6 天前 | 顯示全部樓層
本帖最後由 阿達金田一 於 2026-7-3 12:43 編輯

另外補充...我的工具包還是能用

但 2026 的 Boot ISO 用的 開機管理程式 上
原則上...結構和舊的 2016 2017 都差不多 ( 2026 沒有 spl.exe )
但是設定預設用 中文 部份...有差異

之前的舊版...設定中文 只要修改 i18n 內容成
LANG=zh_TW.UTF-8

2026 ISO 的 開機引導程式
我感覺是有 bug 或是 修改了設定方式
舊版的情況是...
不管 Leagcy/UEFI 都會去套用 i18n 中的設定
( 另外 Legacy 的開機引導可以選擇 語言 )

但 2026 版的不會套用 i18n 中的設定
i18n 僅做用在 Legacy 開機時, Leagcy 開機管理程式會顯示中文

2026 要在啟動設定檔中
直接在啟動指令(quiet後面)加上參數 lang=zh-TW
例如
BOOTWIZ.CFG ( Legacy )
[C1]
RUN MOUSE.COM
VGA VESA
MBRCRCS ON /SKIPBOOT
INITRD dat3.dat dat4.dat
KERNEL dat2.dat nouveau=off  force_modules=usbhid quiet lang=zh_TW
[C2]
RUN MOUSE.COM
VGA VESA
MBRCRCS ON /SKIPBOOT
INITRD dat7.dat dat8.dat
KERNEL dat6.dat product=system_report nouveau=off force_modules=usbhid quiet lang=zh_TW
[continue]
SYSBOOT /MBR
[BOOTMGR]
QUIET ON
BOOTMENU ON

BOOTX64.XML ( UEFI )
<?xml version="1.0" encoding="UTF-8" ?>
<Config>
        <Menu>
                <Topic Delay="15" Text="Select an item by using the keyboard:" />
                <Entry Key="1" Text="1. Acronis True Image (64-bit)">
                        <LoadKernel>
                                <Kernel Arguments="nouveau=off  quiet lang=zh_TW" Path="dat2.dat" />
                                <Ramdisk Path="dat3.dat" />
                                <Ramdisk Path="dat4.dat" />
                                <Hash Path="sgn5.sgn" />
                        </LoadKernel>
                </Entry>
                <Entry Key="2" Text="2. Acronis System Report (64-bit)">
                        <LoadKernel>
                                <Kernel Arguments="product=system_report nouveau=off quiet lang=zh_TW" Path="dat6.dat" />
                                <Ramdisk Path="dat7.dat" />
                                <Ramdisk Path="dat8.dat" />
                                <Hash Path="sgn9.sgn" />
                        </LoadKernel>
                </Entry>
                <Entry Default="true" Key="c" Text="c. Continue booting">
                        <Chainload />
                </Entry>
        </Menu>
</Config>

 樓主| 發表於 6 天前 | 顯示全部樓層
本帖最後由 阿達金田一 於 2026-7-3 12:31 編輯

最後如果真的不太會
不考量 ISO瘦身, 只要能預設中文就好的話

注:
至於直接進 ATI ...
這個可能要用其它開機管理去處理 ...所以比較麻煩
Legacy 應該還好...用 grub4dos 應該可以處理 (ISO Legacy 改用 grub4dos 開機)
UEFI 大概要用 grub2 ... 沒在用...所以這個我不會

用 Acronis ISO 原本的 開機管理 應該是一定有單選
當然你可以修改
efi\boot\bootx64.xml
bootwiz.cfg
只留下 ATI 的看看


1. 用 7zip 擷取 ISO 中的
[BOOT]\2-Boot-NoEmul.img
efi\boot\bootx64.xml
bootwiz.cfg
bootwiz.sys
i18n

假設我的工具在
D:\Acronis Media Boot ISO Make\

bootwin.sys 改成 bootwin.bin 放到
D:\Acronis Media Boot ISO Make\

2-Boot-NoEmul.img 可以放到
D:\Acronis Media Boot ISO Make\iso



2. 修改 bootx64.xml 和 bootwiz.cfg
找到 quiet 在後面加上 lang=zh_TW



3. 修改 i18n
LANG=zh_TW.UTF-8



4. 用 UltraISO 開啟 2-Boot-NoEmul.img
替換修改好的檔案
bootx64.xml ( efi\boot\bootx64.xml )
bootwiz.cfg
i18n

然後 UltraISO 另存新檔
D:\Acronis Media Boot ISO Make\iso\boot.ima

boot.ima 大概 325M
之後 2-Boot-NoEmul.img 可以砍掉

D:\Acronis Media Boot ISO Make\iso 中只有
boot.ima 一個檔案




5. 執行 isoMake.cmd
會建立 Acronis Media.iso
完成
 樓主| 發表於 6 天前 | 顯示全部樓層
bootx64.xml  ( UEFI )
接近自動載入可以改成
將 Delay=0 , 設定選擇時間為 0
修改預設選擇,  將Default="true" 移到 Acronis True Image
UEFI 開機時, 會自動用預設 Acronis True Image 啟動

<?xml version="1.0" encoding="UTF-8" ?>
<Config>
        <Menu>
                <Topic Delay="0" Text="Select an item by using the keyboard:" />
                <Entry Default="true" Key="1" Text="1. Acronis True Image (64-bit)">
                        <LoadKernel>
                                <Kernel Arguments="nouveau=off  quiet lang=zh_TW" Path="dat2.dat" />
                                <Ramdisk Path="dat3.dat" />
                                <Ramdisk Path="dat4.dat" />
                                <Hash Path="sgn5.sgn" />
                        </LoadKernel>
                </Entry>
                <Entry Key="2" Text="2. Acronis System Report (64-bit)">
                        <LoadKernel>
                                <Kernel Arguments="product=system_report nouveau=off quiet lang=zh_TW" Path="dat6.dat" />
                                <Ramdisk Path="dat7.dat" />
                                <Ramdisk Path="dat8.dat" />
                                <Hash Path="sgn9.sgn" />
                        </LoadKernel>
                </Entry>
                <Entry Key="c" Text="c. Continue booting">
                        <Chainload />
                </Entry>
        </Menu>
</Config>

 樓主| 發表於 6 天前 | 顯示全部樓層
另外 Leagcy(CSM) 開機 如果要自動啟動 ATI
用 Grub4dos 的方式...
這裡不細說如何用 Grub4dos
只貼啟動指令 , 基本參考 bootwiz.cfg
要注意 grub4dos 中要先 kernel , 並且加上 vga=791
之後在 initrd

find --set-root /boot.ima
map /boot.ima (fd0)
map --hook
root (fd0)
kernel /dat2.dat vga=791 nouveau=off force_modules=usbhid quiet lang=zh_TW
initrd /dat3.dat /dat4.dat

發表於 6 天前 | 顯示全部樓層
感謝教學!!
照您說的成功把預設介面改為中文了.
TIMEOUT也改成不用等這麼久
https://drive.google.com/file/d/ ... pt/view?usp=sharing
這個原型ISO給大大參考
再次感謝教學!
 樓主| 發表於 前天 11:23 | 顯示全部樓層
更新工具包
您需要登錄後才可以回帖 登錄 | 我要註冊

本版積分規則

小黑屋|手機版|NoName Team 電腦資訊討論區 |網站地圖

GMT+8, 2026-7-9 08:15 , Processed in 0.103820 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表