usb 開機的問題

199 views
Skip to first unread message

黃瑞昌

unread,
Apr 18, 2012, 8:53:00 AM4/18/12
to 再生龍clonezilla
Dears:

我成功的製作了 ubuntu, clonezilla 的開機 usb碟

可是從網路上查,如果要製作 win os 安裝光碟的版本
就不能用 Unetbootin 來製作,而是另有其他程式

而且, Unetbootin 所製作出來的開機 usb, 其功能表在字形顏色上略有變化
看來它是會去讀取資料內容來重組,且限定 linux

所以 usb 碟無法完全模擬成一個光碟?
無法用哪支程式,百分百的把任何可開機 iso 檔,灌成可開機 usb碟?
是嗎?

以上,謝謝

(linux os下到處模擬實在很過癮,又比如 virtual box, 也接受任何 iso 檔當成實體光碟)

Steven Shiau

unread,
Apr 18, 2012, 9:01:36 AM4/18/12
to ocs-clo...@googlegroups.com

On 04/18/2012 08:53 PM, 黃瑞昌 wrote:
> Dears:
>
> 我成功的製作了 ubuntu, clonezilla 的開機 usb碟
>
> 可是從網路上查,如果要製作 win os 安裝光碟的版本
> 就不能用 Unetbootin 來製作,而是另有其他程式
>
> 而且, Unetbootin 所製作出來的開機 usb, 其功能表在字形顏色上略有變化
> 看來它是會去讀取資料內容來重組,且限定 linux
>
> 所以 usb 碟無法完全模擬成一個光碟?
> 無法用哪支程式,百分百的把任何可開機 iso 檔,灌成可開機 usb碟?
> 是嗎?

是這樣沒錯。


>
> 以上,謝謝
>
> (linux os下到處模擬實在很過癮,又比如 virtual box, 也接受任何 iso 檔當成實體光碟)
>

--
Steven Shiau <steven _at_ nchc org tw> <steven _at_ stevenshiau org>
National Center for High-performance Computing, Taiwan.
http://www.nchc.org.tw
Public Key Server PGP Key ID: 1024D/9762755A
Fingerprint: A2A1 08B7 C22C 3D06 34DB F4BC 08B3 E3D7 9762 755A

黃瑞昌

unread,
Apr 18, 2012, 3:18:18 PM4/18/12
to ocs-clo...@googlegroups.com
還以為, CD 不是和檔案系統一樣,都是線性空間?

而這樣的空間,又是為什麼無法完全模泥咧?!~


--
您已訂閱「Google 網上論壇」的「再生龍clonezilla」群組,因此我們特別傳送這封郵件通知您。
如要在此群組張貼留言,請傳送電子郵件至 ocs-clo...@googlegroups.com
如要取消訂閱此群組,請傳送電子郵件至 ocs-clonezill...@googlegroups.com
如需更多選項,請造訪此群組:http://groups.google.com/group/ocs-clonezilla?hl=zh-TW




--
Richard
http://www.a-trip.com/users/home/104

黃瑞昌

unread,
Apr 19, 2012, 5:39:30 AM4/19/12
to 再生龍clonezilla
..我太累了,倉頡輸入法竟然打出注音的錯字 XD

--------------

我想我找到原因了
因為我們下載的是可開機光碟的 iso 檔
http://blog.yam.com/jackktop/article/2121732
這裏有一些解釋

可是解壓縮進 USB碟後, USB碟本身不是光碟
它在開機時是視為硬碟,而硬碟支援開機是要從 MBR 開始描述的

所以要另外寫入 MBR, 才能使這個硬碟變成可開機
而寫入 MBR 的方式, m$ & linux 不太一樣(這句不太精確)

但基本上應該還不難才對

Jazz Wang

unread,
Apr 20, 2012, 2:15:14 AM4/20/12
to ocs-clo...@googlegroups.com
> 可是解壓縮進 USB碟後, USB碟本身不是光碟
> 它在開機時是視為硬碟,而硬碟支援開機是要從 MBR 開始描述的
> 所以要另外寫入 MBR, 才能使這個硬碟變成可開機
> 而寫入 MBR 的方式, m$ & linux 不太一樣(這句不太精確)
> 但基本上應該還不難才對

這與開機流程有關,基本上沒有您想得簡單。
以 Linux 為基礎的作業系統,開機流程涉及 Boot Loader 、Kernel 與 Initrd 三塊。
有些 ISO 可以直接塞進 USB (目前稱之為 Hybrid ISO),是因為 Initrd 的初始化腳本(Script)有動手腳
把 ISO 格式的 USB 視為 CDROM 掛載為 ROOT 根目錄。
若是沒有做這一種處理的 initrd 就無法直接 dd ISO 到 USB。

- Jazz

黃瑞昌

unread,
Apr 20, 2012, 2:44:10 AM4/20/12
to ocs-clo...@googlegroups.com
> 以 Linux 為基礎的作業系統,開機流程涉及 Boot Loader 、Kernel 與 Initrd 三塊。 

不管哪一種 OS, 只要從硬碟開始, 在 386 架構的電腦上就是要從 MBR 開始,對吧?
也就是說,即使我準備好這開機三檔,如果只是解壓縮放進去,而沒放到確切的位置
(沒處理 MBR)
就無法開機
所以 dos 下也有 sys 指令; 這以前我只以 copy all 就想備份 1.2M軟碟時踢過鐵板了
(1.2M 很小,如果沒這問題,光是 copy all 的確是簡單的做法)

至於開機三檔,那我不會寫,我只會拷來用
但以副程式黑盒子的觀點來講,這次我只要明白到 MBR 就可以了
而怎麼把開機三檔塞進 MBR進入點,應該就是  makeboot.bat 裏寫的那樣

-------------
> 把 ISO 格式的 USB 視為 CDROM 掛載為 ROOT 根目錄。 

這是把 ISO 檔拷進 USB, 還是解壓縮放進 USB?
以前我曾跳不過一關
就是我所下載的 ubuntu 在安裝期不認識我的光碟機(但開機時明明認得)
逼使我去拔別台能辨識的光碟機過來用
安裝完就認得了

現在我會把那個 iso 檔解開放進 USB,並且makeboot
這招真的太妙了,解決不少問題
(喔,我無法把 iso 檔拷進硬碟,因為那是台 format 過,全空的電腦
如果要先安裝 win os, 再據以安裝 ubuntu,那也是繞了一大圈)

直接把 iso 檔不用解壓縮,就掛載成光碟
聽說 grub2 辦得到
是指這個嗎?

謝謝

----------------------
在 BIOS 裏, 有個 "BBS" 設定,當初我還以為是大學生在玩的 BBS
裏面可以看到, USB 可以用 BBS,設成另一台硬碟機
所以它是跑硬碟的開機流程

奇怪的是,為什麼不能把 USB 設成另一台光碟機
這樣它就可以跑光碟的開機流程!!
而我們也可以用燒錄機程式去燒它了 :P

當然,如果光碟和硬碟在內部資料結構上完全不同的話,後面問題反而多
比如,光碟並不需要提供動態的 copy & delete 指令
它只能一次性或多次性燒錄,或整張抺寫
因此光碟的資料結構未必長得像硬碟,也未必能提供 copy & delete 等指令的模擬了

(linux 把 iso 檔掛載成一個目錄時,是唯讀還是也可以讀寫啊?!)

謝謝



- Jazz

--
您已訂閱「Google 網上論壇」的「再生龍clonezilla」群組,因此我們特別傳送這封郵件通知您。
如要在網路上查看這項討論,請造訪 https://groups.google.com/d/msg/ocs-clonezilla/-/iBZDPVZOa3EJ

如要在此群組張貼留言,請傳送電子郵件至 ocs-clo...@googlegroups.com
如要取消訂閱此群組,請傳送電子郵件至 ocs-clonezill...@googlegroups.com
如需更多選項,請造訪此群組:http://groups.google.com/group/ocs-clonezilla?hl=zh-TW

黃瑞昌

unread,
Apr 20, 2012, 6:29:17 AM4/20/12
to ocs-clo...@googlegroups.com
>有些 ISO 可以直接塞進 USB (目前稱之為 Hybrid ISO),是因為 Initrd 的初始化腳本
>(Script)有動手腳
>把 ISO 格式的 USB 視為 CDROM 掛載為 ROOT 根目錄。


找到了

原來 initrd 也算是開機批次檔
linux 一載入會有的虛擬設備, mount 等等,它處理了不少
所以這裏要求 mount iso, 就可以把 iso 檔變成一個路徑

這算多學的收獲吧..
不過我指的不是這個

我是指,只要把 iso 檔解壓縮進USB碟 (不是拷入整個 iso 檔)
這樣掛載 USB 碟就可以看到所有檔了
但是 MBR 並沒有被擺入 boot loader
只要再擺個 boot loader 在適當位置就可以了,不是嗎?

還是說這時有另一個狀況(我看鳥哥網頁看不懂的,來這兒問)
例如你的根目錄在特殊的磁碟介面 (USB, SATA, SCSI) , 或者是你的檔案系統較為特殊 (LVM, RAID) 等等,才會需要 initrd。

以這句的意思是說,USB driver  根本還未載入,所以我要準備好 initrd ? 以當做開機時的 root
如果不準備的話, 即使我準備好 MBR, boot loader, 也還是無法讓  linux 開機?

---------------
查了一下 dd iso 的意思,是說整個"燒"進 USB 裏,那照理 MBR 等安排也直接做好了
並不像 xcopy 那樣的粗糙

所以它應該有能力直接造出可開機 USB 才對
還不必再跑一次 syslinux



Jazz Wang <jazzw...@gmail.com> 於 2012年4月20日下午2:15 寫道:

> 可是解壓縮進 USB碟後, USB碟本身不是光碟
> 它在開機時是視為硬碟,而硬碟支援開機是要從 MBR 開始描述的
> 所以要另外寫入 MBR, 才能使這個硬碟變成可開機
> 而寫入 MBR 的方式, m$ & linux 不太一樣(這句不太精確)
> 但基本上應該還不難才對

這與開機流程有關,基本上沒有您想得簡單。
以 Linux 為基礎的作業系統,開機流程涉及 Boot Loader 、Kernel 與 Initrd 三塊。
有些 ISO 可以直接塞進 USB (目前稱之為 Hybrid ISO),是因為 Initrd 的初始化腳本(Script)有動手腳
把 ISO 格式的 USB 視為 CDROM 掛載為 ROOT 根目錄。
若是沒有做這一種處理的 initrd 就無法直接 dd ISO 到 USB。

- Jazz

-- 

--
Richard
http://www.a-trip.com/users/home/104

Reply all
Reply to author
Forward
0 new messages