利用U盤加載控制器驅動來安裝Linux系統方法 |
發布時間: 2012/8/10 15:44:30 |
一般我們在安裝服務器過程中需要加載一些scsi卡或raid卡驅動,以便操作系統可以檢測到硬盤。
常規的安裝方式是要用到軟驅,其實我們也是可以通過U盤來進行加載的。 裝Linux控制器驅動往往都是*.dd或者*.img結尾的文件,我們都可以在linux下通過dd命令來寫入到U盤中,比如驅動的名字為megaraid_sas.img 假設有一臺Linux機器,先把文件拷貝到/tmp,U盤的設備名為sdb。 dd if=/tmp/megaraid_sas.img of=/dev/sdb cat命令也可以實現dd的作用,注意這里是sdb而不是sdb1,是設備而不是分區,如果你把文件寫入到sdb1,你可以嘗試加載驅動會失敗。 Linux可以寫裸設備而windows不可以,也就是說如果U盤在windows下是未分區的(此時windows是無法寫的)但是在linux下還是可以寫的。 在 of=/dev/sdb 的時候是從U盤的最開始位置寫的,結果把它模擬成了一個軟盤,前446Bytes即“boot code”定義了它的類型。此時你把這個U盤拿到windows機器上,在磁盤管理里邊可以看到1G的容量,但是右鍵屬性發現容量為1.38,即成了一個軟盤,也可以說是四不像,其實是欺騙了windows。 這個時候你可以把U盤格式化,然后把megaraid_sas.img在windows下用第三方工具解壓后發送到U盤之后,安裝系統過程中還是可以正常加載驅動的。 這是為什么呢? 因為我們在windows下對這時的U盤操作時,windows會先讀取U盤的“boot code”,認為它是一個軟盤,因為軟盤是沒有分區的概念即沒有partition table,把其后邊的空間格式化了,簡單的說,再怎么樣也不會把“boot code”給改了。 這時再拿到linux下,linux仍可以讀出其中的數據,但在用 fdisk -l /dev/sdb 的時候會發現U盤的Partition table有問題,可以在用fdisk /dev/sdb 進入交互界面后用一個命令“w”重新改寫,把U盤變成一個沒有分區的U盤。 有很重要的一點補充,現在很多人再買到服務器之后要裝linux系統,但是沒有linux環境,無法按照上邊的步驟來把驅動寫到U盤上去,經測試發現可以用redhat的第一張盤來創造這樣一個linux環境,假設現在要加載的驅動為LSI sas raid卡的驅動 本文出自:億恩科技【www.endtimedelusion.com】 |