如何在没有光驱、没有软驱、不能usb启动的情况下,进入dos硬盘安装linux系统?(当然,前提是已经有一个windows系统)
最近又被派发做安装系统的烂事。师兄竟然说之前安装的linux太新(gcc太新),他的程 序跑不过(昏,写程序还挑编译器的毛病),让我装个旧的。为了省事,我想直接在原来的redhat enterprise server 5上编译一个gcc3.3,结果花了半天时间都搞不过,似乎网上也没有成功的例子。最终还是决定再装一个redhat 8了。
最让人郁闷的是要装系统的服务器光驱坏了。本来一开始是好的,后来装到一般竟然挂了,不仅读不出内容,甚至都不能弹出光盘。最后不得不用暴力的方法,用小刀强行扒开才取出光盘...真是郁闷的不得了。
装系统最主要的装备没了,现在只能考虑软驱启动或usb启动了。但是服务器比较老,估计还不支持usb启动,软盘现在更是找不到了。在这种状况下怎么装系统呢??
我想寻求一种纯硬盘安装系统的方法。我知道很多系统可以硬盘安装,但是都需要用光驱或usb或软驱启动进入dos,不过这些条件我都没有。其实主要只是要进入dos环境,后面装系统就是很容易的。
首先,如何在“三无”的情况下启动进入dos? 想想一个小破dos嘛,应该有不用大费周章必须用光驱软驱usb才能进入的吧。果然让我找到了这样的软件:矮人XP2K纯DOS模式 2.0。安装之后启动菜单会多出一个启动进入dos的项。嗯,真是个好东东,这样后面的问题就迎刃而解了。
后面就是硬盘安装的问题了。因为光驱不能用,有光盘也做不了镜像,只能找网上去下,速度慢了还不行(急着要装,我也没闲工夫等)所以系统镜像文件也是个问题。后来花了半天才找到一个现在速度比较快的ftp(1Mbps),下载了三个系统iso文件。
好,调研了半天,现在开始装了。
1、在windows下安装软件“矮人XP2K纯DOS模式 2.0”。
2、下载系统的iso文件,放在windows的任意一个分区里。最好放在fat32格式的 分区中(因为dos本身是不支持ntfs分区的,不过矮人XP2K纯DOS模式 2.0好像可以)且放在分区的根目录下,如D:\xxxxxx1.iso等,这样后面安装起来就省去了很多麻烦。
3、将个iso镜像中的dosutils目录提取出来(用虚拟光驱或winrar也可以),放到某个分区的根目录下,如D:\dosutils。
4、分区
可以预先用pqmagic等工具为要装的linux分好区(一个swap分区和一个ext3分区是必要的);也可以在系统安装的过程中自己手动分区。我喜欢用后者,不过如果不了解linux分区的就最好不要使用后一种方法。
安装前的准备知识:
linux硬盘分区的名称:第一块硬盘叫/dev/hda,第二块叫/dev/hdb,以此 类推。第一块硬盘的第一个分区叫/dev/hda1,第二个分区叫/dev/hda2,以此类推。不过因为主分区个数最多可以为四个,因此windows 中对应的D盘(第一个硬盘的第1个逻辑分区)在linux下并不叫/dev/hda2,而是/dev/hda5。(即/dev/hda1到/dev /hda4看作是主分区的)。
5、安装
重启系统进入“矮人XP2K纯DOS”;
cd D:\dosutils
运行 autoboot.bat
之后就是一般的系统安装,不同的就是硬盘安装的过程不是图形界面,这就无所谓了。
系统安装好后,发现默认没有安装开发工具,比如make、gcc等,昏,只有再从镜像文件里 安装了。linux下没有虚拟光驱一说,因为linux的mount本身就可以完成很多任务,包括将光盘制作成光盘镜像文件,以及将镜像文件加载到光驱 (即所谓的虚拟光驱)。方法也很简单:
a. 把光盘制作成 iso 文件:
cp /dev/cdrom /*/XXXXX.iso
b.将硬盘上的 iso 文件加载到光盘(即所谓的虚拟光驱):
mount -t iso9660 -o loop /*/XXXXX.iso /mnt/iso
c.若添加删除程序,系统会提示你插入光盘,但只有镜像,怎么办?
对于 Redhat : redhat-install-packages --isodir=iso 文件目录
d.一般情况虚拟光驱
rm -rf /dev/cdrom
ln /dev/loop7 /dev/cdrom
losetup /dev/loop7 /*/XXXXX.iso
mount /mnt/cdrom
取消这个光驱:
losetup -d /dev/loop7
换盘:只需转移iso关联到/dev/loop
losetup /dev/loop7 /*/XXXXX.iso
注:/*为路径