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