位置:海鸟网 > IT > linux/Unix >

通过硬盘上镜像文件安装Linux系统

如何在没有光驱、没有软驱、不能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

  注:/*为路径