請選擇 進入手機版 | 繼續訪問電腦版

NoName Team 電腦資訊討論區

 找回密碼
 我要註冊
搜索
查看: 2932|回復: 8

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

[複製鏈接]
發表於 2017-3-7 11:25:19 | 顯示全部樓層 |閱讀模式
本帖最後由 阿達金田一 於 2018-12-20 10:36 編輯

前言:
這篇主要是 技術討論交流 而以
因為本人 "沒在用 沒在用 沒在用" Acronis 系列的 Linux Boot ISO ...
只有用過 NoName XPE 中的 Acronis True Image 9.1
所以 Acronis 使用的相關問題別問我...

本來是想說一下原理...
不過後來覺的太長了...反正有工具包...所以就懶的說明了
我自己一開始玩是純手工... 就像 2567288 大貼的那個影片那樣
http://spadek.blog.163.com/blog/static/209506080201411494044180/

其實那影片中的動作...懂了後...再看就覺的有一些多余動作(或者說是不太合我意思)
所以我之後又按照自己的理解去搞...
之前玩 2016 時...那時是搞了個 建立ISO的半手動工具包...就是 ISO 建立完...要手動改一下 ISO
因為我是用 oscdimg 建立 ISO ... 不過因為 img 太大...沒法直接刷入 uefi 啟動區
所以...只能先放檔案區...之後在手動加入 uefi 啟動資料 和 修正LBA資料 (就類似那個影片中的動作)

那時玩出來之後就沒在繼續玩
而這次只是把 建立ISO工具包 用成全自動
不過其實還是很簡易的處理...

像官方 AcronisBackupAdvancedUniversal_11.7_50064_zh-TW.iso
那種處理才是最佳化的完美處理 ...
這個不太懂 ISO 儲存結構的話可能不太懂...
簡單說就是 ISO 中的檔案 和 uefi boot img 中的檔案...都只存一份
也就是 ISO 中的檔案...指向的資料內容(LBA)...是指到 uefi boot img 中
一般的處理是分開儲存 像 ATI 的 boot iso 也是分開的... 把 ISO 中的檔案砍了...大小就會變小



自製工具包
Acronis Media Boot ISO Make.rar (982.58 KB, 下載次數: 138)
發表於 2017-3-8 19:23:16 | 顯示全部樓層
之前在無憂看過 Acronis TrueImage 2016 6027 的三啟動精簡版 90MB
如果加入 Universal Restore 應該是 200MB 左右

uefi x64 除了 bootx64.efi 及 bootx64.xml , 全部都用  x86 的檔案
實機測試過除了 uefix64 開機沒問題 , 也通過 uefix64 的 secure boot

bootia32.xml
<?xml version="1.0" encoding="UTF-8" ?>
<Config>
            <LoadKernel>
                <Kernel Arguments="&#32; lang=14; quiet" Path="dat10.dat" />
                <Ramdisk Path="dat11.dat" />
                <Ramdisk Path="dat12.dat" />
                <Hash Path="sgn13.sgn" />
            </LoadKernel>
</Config>



bootx64.xml
<?xml version="1.0" encoding="UTF-8" ?>
<Config>
            <LoadKernel>
                <Kernel Arguments="&#32; lang=14; quiet" Path="dat10.dat" />
                <Ramdisk Path="dat11.dat" />
                <Ramdisk Path="dat12.dat" />
                <Hash Path="sgn13.sgn" />
            </LoadKernel>
</Config>
01.png

uefix64 開機
02.png




 樓主| 發表於 2017-3-8 20:09:16 | 顯示全部樓層
本帖最後由 阿達金田一 於 2017-3-8 20:26 編輯
2567288 發表於 2017-3-8 19:23
之前在無憂看過 Acronis TrueImage 2016 6027 的三啟動精簡版 90MB
如果加入 Universal Restore 應該是 200 ...

10 11 12 如果沒改檔名...好像是 64bit 用的耶 ... 應該測 uefi 32 能不能開起來
看上去是把 bootmenu GUI 拿掉...所以也沒 .so 檔案吧... 極度精簡了

UR 非除只要 UR ... 不然其實用 Acronis Backup 不是會好一點嗎...
這個不是本身就有帶 UR 了... 差不多等於 ATI + UR 了
發表於 2017-3-8 20:49:46 | 顯示全部樓層
阿達金田一 發表於 2017-3-8 20:09
10 11 12 如果沒改檔名...好像是 64bit 用的耶 ... 應該測 uefi 32 能不能開起來
看上去是把 bootmenu GUI ...

10 11 12 的確是 x64的檔案
原始的 bootia32.xml
<?xml version="1.0" encoding="UTF-8" ?>
<Config>
        <Menu>
                <Topic Delay="-1">
                        <Text>Select an item by using the keyboard:</Text>
                </Topic>
                <Entry Key="1">
                        <Text>1. Acronis True Image 2016</Text>
                        <LoadKernel>
                                <Kernel Arguments="  quiet" 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</Text>
                        <LoadKernel>
                                <Kernel Arguments="product=system_report quiet" Path="dat6.dat" />
                                <Ramdisk Path="dat7.dat" />
                                <Ramdisk Path="dat8.dat" />
                                <Hash Path="sgn9.sgn" />
                        </LoadKernel>
                </Entry>
                <Entry Key="c">
                        <Text>c. Continue booting</Text>
                        <Chainload />
                </Entry>
        </Menu>
</Config>

原始的 bootx64.xml
<?xml version="1.0" encoding="UTF-8" ?>
<Config>
        <Menu>
                <Topic Delay="-1">
                        <Text>Select an item by using the keyboard:</Text>
                </Topic>
                <Entry Key="1">
                        <Text>1. Acronis True Image 2016 (64-bit)</Text>
                        <LoadKernel>
                                <Kernel Arguments="  quiet" Path="dat10.dat" />
                                <Ramdisk Path="dat11.dat" />
                                <Ramdisk Path="dat12.dat" />
                                <Hash Path="sgn13.sgn" />
                        </LoadKernel>
                </Entry>
                <Entry Key="2">
                        <Text>2. Acronis System Report (64-bit)</Text>
                        <LoadKernel>
                                <Kernel Arguments="product=system_report quiet" Path="dat14.dat" />
                                <Ramdisk Path="dat15.dat" />
                                <Ramdisk Path="dat16.dat" />
                                <Hash Path="sgn17.sgn" />
                        </LoadKernel>
                </Entry>
                <Entry Key="c">
                        <Text>c. Continue booting</Text>
                        <Chainload />
                </Entry>
        </Menu>
</Config

虛擬機 用 usb 測一下 uefi ia32 可以啟動
03.png

04.png

05.png


 樓主| 發表於 2017-3-9 07:13:20 | 顯示全部樓層
本帖最後由 阿達金田一 於 2017-3-9 07:35 編輯
2567288 發表於 2017-3-8 20:49
10 11 12 的確是 x64的檔案
原始的 bootia32.xml

我用 vbox 測... uefi32 開機 ( bootia32.efi )
OS 部份 kernel , ramdisk 都用 64bit 檔案 ... 會卡死黑屏
換 kernel 為 32bit , 其它還是 64bit ... 進 OS 後會報錯

該不會是 VM 的 UEFI 模擬其實是 UEFI 64 ... 只不過可以相容 32 ( bootia32.efi 開機部份)
而最後 OS 是在跑 UEFI 64 ? ... (因為你 kernel ramdisk 都是 64bit... 只有 bootia32.efi 不是)

而 vbox 是純 uefi 32 ... 所以不行
因為正常來說 ... UEFI 32 64 通常是不互相支援相容的 ... 照理是開不起來... 能開的起來我只能想到上面那個原因
發表於 2017-3-9 11:39:30 | 顯示全部樓層
Thank you  dai dai
發表於 2017-3-9 19:38:23 | 顯示全部樓層
謝謝分享<直得玩玩試試。
發表於 2017-3-9 20:01:55 | 顯示全部樓層
阿達金田一 發表於 2017-3-9 07:13
我用 vbox 測... uefi32 開機 ( bootia32.efi )
OS 部份 kernel , ramdisk 都用 64bit 檔案 ... 會卡死黑 ...

這個可以用實機反向測一下 , 用 bootx64.efi , 其餘用 ia32 的檔案


實機 :
這台電腦沒有 secure boot 的選項(改天補測) , 只測試 usb 開機及備份 , 三個作業系統及 efi 分區一起備份 , 備份後在 PE 看一下備份檔


VMware Workstation :
實際裝一個 Win10 15048 x64專業版 測試備份還原
備份












還原







 樓主| 發表於 2017-3-10 05:19:48 | 顯示全部樓層
本帖最後由 阿達金田一 於 2017-3-10 05:33 編輯
2567288 發表於 2017-3-9 20:01
這個可以用實機反向測一下 , 用 bootx64.efi , 其餘用 ia32 的檔案

報告 2567288大大
uefi 64 ( bootx64.efi ) 用 32bit 的 OS 檔 ... vbox 可以開的起來

所以這樣看來... Linux OS 檔用 32bit 的成功率會高一點 (而且檔案好像比較小一點)

另外...小一點的 ramdisk 我看你的貼圖...
覺的應該真的是一些設定資訊...除了 預設語系 外( boot 沒指定語系時 ) ... 好像還有註冊資訊
因為當初我 2016 6027 是用 沒註冊試用版...去建立 boot iso
進入 ATI OS 後...顯示是 "試用版"
而你圖看起來想有註冊的
不過看 主要(較大)的那個 ramdisk 檔案大小 好像都一樣
我 32bit 那個是 82318314 Bytes (78M) , CRC32 C8EB7A48

您需要登錄後才可以回帖 登錄 | 我要註冊

本版積分規則

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

GMT+8, 2019-3-20 03:26 , Processed in 0.230858 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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