用U盘加载控制器驱动安装Linux

 

   
http://www.oschina.net/p/dd-for-windows 也可以用这个   这个是dd for win下的工具
当然我们装系统的话     linux内核没有集成驱动的话 我们可以才用ibm serverguid 或者是hp smartstart盘    dell的openmanager  ====    
或者是直接打电话    800
下面是linux环境下安装scsi和raid驱动的方法
 
 
这篇文章的局限性非常大,对于不同的硬件平台和系统结果相差非常大,请大家不要转载,以免被误导!留着只是觉得某些时候是有用的,另外如果没有linux环境在windows下也是可以用一个第三方工具来写dd文件到U盘的,当然如果不能用下边蓝字文章的方式来添加驱动,这种方式做出来的驱动也白搭了。
软件的链接地址和详细使用说明
http://www.chrysocome.net/dd ,这个软件是试验过的,没有问题。
举个简单例子来说明一下用法,
1,把软件下载下来之后解压到一个可以用命令行直接进入的目录,主要是为了方便,比如把软件解压后改名dd并移动到C:/盘根下边,那么现在软件所在的文件夹就是C:/dd
2,把dd后缀的驱动也拷贝到C:根下边,
3,u盘的盘符在我的电脑里边可以看出来,比如F:,当然要从命令行进入到dd命令所在的文件夹。
制作驱动命令为dd if=c:\xx.dd of=\\.\f: bs=1440k  xx.dd假设为驱动名字
4,然后你的U盘就被操作系统认为是raw设备了,这时候驱动就做好了。
以上只对dd结尾的文件好用。
下边的对dd或者img都可以
 
用U盘加载控制器驱动安装Linux
 
一般我们在安装服务器过程中需要加载一些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和Intel cpu的机器上无法实现,操作系统版本关系。暂时没有解释

你可能感兴趣的:(linux,职场,休闲)