利用U盤載入控制器驅動來安裝Linux系統

2021-08-25 01:50:11 字數 1892 閱讀 1101

一般我們在安裝伺服器過程中需要載入一些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卡的驅動

步驟如下:

1、先在windows環境中把驅動拷貝到u盤上去,

2、用redhat的第一張盤引導,當出現提示你是否載入hard driver時,選擇skip,這是os沒有檢測到硬碟的提示,此時就可以skip,接著就要載入圖形化介面了,這時候我們就可以按ctrl+alt+f2切換到控制台了,

(有一點補充,硬碟的驅動是在出現圖形化介面之前就已經載入了,對於這個問題我還請了前輩一瓶水,我們可以在出現控制台後切換到f3,f4就可以看到核心和安裝的詳細過程)

3、在記憶體中建兩個目錄mkdir /a /b

4、mount /dev/sda1 /a

5、cp /a/megaraid_sas-rhel40-all.img /b

6、umount /a

7、dd if=/b/megaraid_sas-rhel40-all.img of=/dev/sda

8、再次啟動伺服器,當出現boot之後輸入linux dd,然後按照提示選擇從/dev/sda中新增驅動,就會找到硬碟(如果出現多個sdx裝置,可以按ctrl+alt+f4來看到底你的u盤是哪個裝置)

後話:因為工作能接觸到不同cpu的伺服器,發現此種方法在amd cpu的機器上無法實現,intel的機器沒有問題,intel的cpu可以在找不到硬碟的情況下仍然可以載入圖形介面,amd的cpu如果找不到硬碟就不可以繼續,而且即使用dd命令把驅動寫到u盤上去,驅動還是不能正常的載入的,也就是說無法用u盤給amd cpu的機器載入硬碟的驅動。

linux在檢測不同cpu時反饋的結果差別還是真的很大,不能說是redhat或者amd的問題。

利用U盤載入控制器驅動來安裝Linux系統

一般我們在安裝伺服器過程中需要載入一些scsi卡或raid卡驅動,以便作業系統可以檢測到硬碟。常規的安裝方式是要用到軟碟機,其實我們也是可以通過u盤來進行載入的。裝linux控制器驅動往往都是 dd或者 img結尾的檔案,我們都可以在linux下通過dd命令來寫入到u盤中,比如驅動的名字為megar...

mvc 載入控制器

這裡需要注意到的是 類名和方法名不能是同乙個名字,indexcontroller.php頁面 class indexcontroller 然後我們到控制器編碼部分mvc.php 用乙個變數存放我們的控制器 controllerclass route controller 同樣存放方法 action ...

USB驅動之主機控制器驅動

usb 主機驅動的整體結構 usb 主機控制器有 34種規格 ohci open host controller inte ce uhci universal host controllerinte ce 和 ehci enhanced host controller inte ce ohci 驅動...