安装多个操作系统没有软盘/ CD / DVD /等等。
本文介绍了我如何在我的电脑(1个硬盘驱动器)上安装了超过50种不同的操作系统,而无需将发行版ISO刻录到磁盘启动。 (不需要软盘,usb,cd,dvd等等)
注意:本文有一个全长版本 。
我首先将我的120GB硬盘划分成10个分区,第二个分区是一个小的交换,最后一个分区是超大的,因为它拥有所有的ISO映像..
然后我写了一个小shell脚本来自动下载(我喜欢wget!)以下。
- OpenBSD
- IpCOP
- Libranet
- Arch Linux
- 火
- 本地安全
- 包大师
- 恶魔Linux
- FreeBSD
- Knoppix
- 螺旋
- Gentoo
- Yoper-Linux
- NetBSD
- 红帽
- Slackware
该脚本还下载安装手册和md5校验和..
我使用我最后一个空白的CD-R在hda1上安装了Slackware(个人喜好),请注意,我没有单独的引导分区。 (我是不是该?)。 我也在MBR上安装了grub。 我喜欢grub,如果你阅读手册页和所有关于grub的信息,你可以学到很多东西。 Grub具有比lilo更多的功能和功能,尽管lilo默认情况下安装松弛。
我组织我的内核情况如下...在我的/ boot
目录中,我的mkdir KERNEL,CONFIG,MAP,INITRD
,这是一个很好的方式让我保持我的内核和一切都有组织..另一个好方法是一个单独的目录每个新内核。
由于Arch-Linux是一个坚实的发行版,我会用它作为第一个例子。
这是我的shell脚本的Arch-Linux部分
goge Arch-Linux $w http://puzzle.dl.sourceforge.net/sourceforge/archlinux/arch-0.6.iso $w http://unc.dl.sourceforge.net/sourceforge/archlinux/arch-0.6.md5sum $w http://www.archlinux.org/docs/en/guide/install/arch-install-guide.html md55 cat arch-0.6.md5sum md5sum arch-0.6.iso md55
首先要安装下载的ISO映像,以便我们可以使用它,就像它是一个实际的CD一样。
mount -t iso9660 -o ro,loop=/dev/loop0 cdimage /mnt/cdrom
其中cdimage = ISO映像。 EX。 /usr/local/src/ISO/Linux/Arch-Linux/arch-0.6.iso。
这将iso安装为/ mnt / cdrom
。
接下来,您需要将/ mnt / cdrom复制到引导过程的单独分区。
所以
mkfs.ext2 /dev/hda9
(我更喜欢reiserfs甚至XFS ext,但是如果您使用ext2以外的其他东西,可能会遇到一些问题,因为某些安装内核和initrd不包含对reiserfs的支持,因此无法识别文件虽然可以使用mkinitrd创建一个新的initrd与reiserfs支持,这可能是推送它IMO ...我一直使用第9个分区,我知道有一个“正确”的方式来复制/ mnt / cdrom
文件,所以一切都保持方式它也应该是使用tar或cpio,但我很懒,所以我只是做cp -rp
。
所以你挂载第9个分区,如/ mnt / hd
,然后复制文件。 怎么办?
现在编辑您的/boot/grub/menu.lst
文件以包含启动arch-linux安装的具体选项。 一个好主意是在发行版cd上找到isolinux.cfg文件,这将告诉你在menu.lst中包含什么。
这是我的menu.lst中的部分
title Arch Install root (hd0,8) kernel /isolinux/vmlinuz load_ramdisk=1 prompt_ramdisk=0 root=/dev/rd/0 initrd=/isolinux/initrd.img
这应该是不言自明的。 根(hd0,8)指向分区9.所以剩下的命令从分区9开始。
遇到问题时,请记住,您可以随时通过键入“e”编辑grub启动选项,然后编辑该部分。 另外,一个好主意是在你的menu.lst
中包含几个变体,所以你可以很容易的尝试其他的方法来有效的启动。 而且,请记住阅读发行版附带的所有安装指南,特别是硬盘安装。
有特殊情况,Gentoo,有一个称为squashfs的半新压缩文件系统。 BTW,这是真棒,所以检查出来。 它必须被编译到内核中,所以有些工作是有序的,但是使用这个重新编译来优化你的内核。 你可以得到几乎任何内核的squashfs补丁。 我使用最新的稳定的2.6内核。 Squashfs是不可思议的,虽然我不认为您需要它从ISO安装,但您需要它来扩展cd附带的livecd.squashfs文件系统。
来自我的menu.lst的一个样例Gentoo部分
title Gentoo Install root (hd0,8) kernel /isolinux/gentoo root=/dev/ram0 initrd=/isolinux/gentoo.igz init=/linuxrc acpi=off looptype=squashfs loop=/livecd.squashfs cdroot vga=791 splash=silent
如果遇到问题,通常是busybox或ash,提供的是一个提示。 从这里开始的关键工具是mount
和chroot
。 有时您需要手动创建一个模拟文件系统,然后将其插入。 例如,您可能需要在目标分区上创建boot,etc,bin目录。
我通常将每个操作系统安装到下一个分区上(注意逻辑分区),并在安装后将其添加到我的menu.lst
。 一个好主意是安装后,将内核和initrd(如果有的话)复制到hda1
上的slackware(或任何)引导分区。 我将内核复制到/ boot / KERNEL /
initrd到/ boot / INITRD
,然后menu.lst
更有条理
然后,您需要添加一个更新的部分到您的menu.lst
(只是注释安装部分供以后)
这是menu.lst中完成的arch-linux部分
title Arch Linux 6 root (hd0,2) kernel /boot/vmlinuz26 ro root=/dev/hdc3
使用dd
备份MBR并保存到软盘,也可以使用cfdisk
或parted
将分区表备份到软盘。 和引导磁盘(我使用1与grub,1与松弛,tomsbootdisk)将始终派上用场。 建议使用Tomsbootdisk,并在安装grub时使grub启动磁盘。 安装到软盘
最后的结果经过一些有趣的实验,是当我启动时,我有一个很酷的grub启动屏幕提出了启动到任何我想要的操作系统的选项,这是多方面的原因。 在这之后,一个好办法是在您更新之后,对每个操作系统进行端口扫描和外观扫描。 写下这些东西,你会知道各种操作系统的缺点/优势。
我可以使用此过程启动自定义防火墙,snort或多个Honeypot,以及针对图形和我的处理器/架构优化的内核的图形kde环境,或专门用于取证的环境,甚至适用于编程的环境。
注意:本文有一个全长版本 。
PS一些较冷的替代操作系统是BeOS 5,EOS,ER_OS,V2_OS和我个人最喜欢的菜单。 Menuet是适合软盘的100%装配图形操作系统。