一般我们在安装服务器过程中需要加载一些scsi卡或raid卡驱动,以便操作系统可以检测到硬盘。常规的安装方式是要用到软驱,其实我们也是可以通过U盘来进行加载的。
控制器驱动往往都是*.dd或者*.img结尾的文件,我们都可以在linux下通过dd命令来写入到U盘中,比如驱动的名字为megaraid_sas.img
我们可以找到一台linux机器,假设先把文件拷贝到/tmp,U盘的设备名为sdb(假设)
#dd if=/tmp/megaraid_sas.img of=/dev/sdb
注意:
这里是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盘。
有一个问题是在windows下格式化的时候我还不知道它确切的是从哪里写partition table,从哪里开始格式化,这个还有待继续学习了。
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||