由于不具备DVD刻录机,本人一直对Linux发行版的硬盘安装方式比较感兴趣(ISO安装)。经过无数次的失败安装经历,我终于总结出来的openSUSE 11.0 的ISO 硬盘安装方法。 问:为什么偏要装openSUSE 11 ?
答:因为openSUSE是最华丽的Linux发行版,而且其中的好多工具都自带了,不用再费时的从源代码编译安装。而且我发现Linux社区里提供的ISO安装方法多多少少都有些问题。比如说,在安装过程中总会提示 镜像重复挂载,而导致无法安装。从而导致很多人用镜像安装失败。本文就是告诉大家一个彻底解决安装过程中出现重复挂载问题的教程。好了废话不多说,开始我们的安装之旅! PS:由于是制作教程,为了截图方便我是在VM里完成的这一切。
虚拟机里我的分区布局如下图:
这里我要解释一下:这里共5个分区,hda5为我要装的SUSE的根分区,hda6为swap分区,至于hda7大小为8G (只要大于5G就可以),这里暂时先留个悬念(这里是保证SUSE安装不失败的关键^_^)。接着的hda8(在windows下也就是D盘了)里面放了我要用的安装镜像和一些软件,如下图:
注意,我这里下的是openSUSE 11 for i386的版本,还有一个是 for x86_64的版本,大家根据自己的实际情况选择。分区魔术师是我给虚拟机分区的工具。至于WinHex嘛,是提取安装后的SUSE引导代码,然后将SUSE挂到WindowsXP的引导菜单下(为什幺这样做?直接把引导代码安装到MBR多好啊?原因是安装到MBR的GRUB软件很容易遭到XP下一些工具的破坏,从而导致机器引导不起来。)接着是矮人DOS工具箱,这个工具其实也可以替换成GRUB_FOR_DOS,其实只要你有一个grub程序就可以了。
注意:我这里提供的安装工具只是供大家参考,大家可能还有比我更好的替代方案,大家可以随意选择自己喜欢的工具。
最后是易我分区表医生,这个是检查分区表错误的工具,有时用魔术师分区完后,硬盘会出现分区表错误,强烈建议大家分区完后,用它修复一下分区表。但要注意先备份分区表哦!)
好!接下来我们就开始安装了。
1. 首先提取安装碟下的两个文件initrd和linux。它们都在boot/i386/loader下存放。提取的目标位置随意,我这里选择了和安装镜像在同一个分区下。如图:
2. 然后安装矮人dos工具箱。 3. 重启后会有如图界面。
4. 进入后,如图:
5. 按P键解开下一个功能集,这里要提示输入密码,密码是 hahaha (诀窍,请参看C:\\boot\\grub\\menu.lst),如图:
6.按c转入命令行,输入以下三条命令:
有关这里的三个命令,网上已有一大堆介绍。这里我就不详细介绍。只做简单的介绍。
第一个命令 kernel 是加载linux内核的 (后面的vga参数是设置内核引导时的分辨率的,0x317是1024x768 ,这个参数可有可无)。将linux文件读入内存指定位置,然后的initrd命令是一个内存盘加载命令,它负责将initrd文件加载到内存,此时在内存里的initrd数据,就相当于内核的虚拟根分区(只不过这个根分区换到了内存里,这个根分区里有内核引导后的初始化文件,比如内核模块,还有一些脚本配置文件)。然后,最后来一句boot命令,其实就是个长跳转命令(跳转到刚才加载到内存的linux内核文件的首地址处,这样内核文件就发挥威力了,什么设置保护模式,初始化硬件,然后开启调度。。。.etc)呵呵。。这样就把SUSE安装程序引导开了,如下图:
6. 选择back ,然后如下图:
7. 选择简体中文,然后如下图:
8. 选择美国键盘,然后如下图:
9. 选择开始安装,如下图:
10.继续选择开始安装,如下图:
11.选择从硬盘安装后,如下图:
12.选择sda8 后,如图:
13.输入路径名后,接着就进入了图形化的安装程序,如下图:
14.当你接受协议并点下一步后(千万别点!),就会出现下面的经典的重复挂载问题,最终导致安装失败,如下图:
原因在于SUSE的安装程序,不能自动解决在NTFS下镜像的安装问题,(网上也有很多教程提示在控制台下先卸载加载的NTFS分区,然后再点下一步就可以了,但经过我的长期试验,此办法只是在一定程度上解决问题,换句话说,SUSE安装成功的几率不大),那么我们只能将SUSE的安装镜像放到其他的文件系统下了。我们首先想到的肯定是ext2/3文件系统,因为这是Linux的本土文件系统,有最好的兼容性,但是很不幸,经过我的试验,即使是把ISO镜像弄到ext2/3文件系统下安装同样会出现重复挂载问题。那么我们怎么办呢,哦,我们又想到了fat32文件系统,但同样很不幸,fat32文件系统不能存储大于4GB 的文件。 那究竟该怎么办呢?答案很简单,就是将SUSE的安装镜像复制到reiserfs文件系统下。经我试验此法能彻底解决安装过程中出现的重复挂载问题。(还记得刚开始,我在分区界面里的那个8G的分区吗?将它格式化成reiserfs,然后cp 安装镜像到 它下面。)
15.好!现在画面还处在13步的图中,这时候我们按 CTRL+ALT+F2(或F3,等等) ,这时候我们进入了一个文本终端界面。输入下图的命令,如下图所示:
fdisk –l 后我们发现原来那个8G的分区叫 /dev/sda7 ,之后用mkfs命令将它格式化成reiserfs, 16.挂载刚才的reiserfs文件系统到 /mnt下,然后拷贝安装镜像到它下面,如下图命令:
17.然后同步一下数据(也就是输入sync命令, 因为Linux是缓存管理的文件系统),如下图:
之后按ctrl + alt + del 重启电脑,重复 3—10的步骤后,如下图,选择安装镜像位置时,选择 reiserfs文件系统 ,如下图:
再次输入安装路径后,就可以进入图形化安装了。如下图:
18.选择全新安装,选择时钟 , 选择图形化GNOME(个人比较喜欢GNOME)后,如下图:
这里要注意,分区 和 引导 的设置, 点分区后如图:
点编辑分区设置后,点专家重读分区表,如下图:
确定后,然后 格式化 你要装的根分区为ext3 文件系统,切记!(千万别格式化成reiserfs文件系统,否则你会在安装后以普通用户登陆后直接死机,这是因为reiserfs文件系统的一个bug导致(因为 ReiserFS 文件系统不能正确处理超长的文件目录,如果创建一个超过768字符的文件目录,并使用 ls 或者其他 echo 命令,这将有可能导致系统挂起。例如: mkdir \"$(perl -e 'print \"x\" x 768')\" 另外该漏洞有可能造成系统内核缓冲区溢出,覆盖堆栈变量设置返回地址,造成可以执行任意代码。)哦,别记错了,再重申一遍:安装镜像所在的分区一定要格式化成 reiserfs ,而根分区一定要格式化成 ext3 )
好!分好区后如图所示:
点下一步回到安装主界面后,点 引导 ,然后如下图所示:
点 引导程序安装 后如图:
我们只选中 从根分区引导 。(默认的grub安装方式会将其装到MBR上,这样的话XP下的某些程序,可能会破坏GRUB,这样就会导致系统无法引导)。
点确定后。我们就可以开始安装了!(记得要选中安装所有软件包哦,省的以后麻烦。)
好等安装完后,你会发现第一次能进入系统,而第二次就进入不了系统了。原因是我们将SUSE的引导程序安装到根分区了,而MBR上的引导代码只是引导了XP,好了这时候我们就想办法将 SUSE 挂到XP的引导菜单下面,这样就实现了双系统的安装了,嘿嘿!好!接着上图! 用Winhex 打开磁盘。。。 ,
打开后如下图所示:
选中整个硬盘HD0,后确定。如下图:
点分区2(这个分区即是我们安装SUSE的根分区,还记得grub引导程序吗?我们的SUSE引导程序其实就安装到了这个分区的前512 个字节里了,呵呵, 接下来提取它 。
点选块开始,如下图所示:
点选块结尾,如下图:
然后,在选中的选块里,点右键->编辑->复制选块->置入新文件
然后将此文件保存到C盘下,起名叫SUSE
然后编辑C:\\boot.ini 文件的属性 去掉只读和隐藏。
加入如下行,如图:
好了,保存后, 重启电脑,Enjoy your openSUSE 吧!!
YangNas 09.01.11 osborn_lix@yahoo.cn
因篇幅问题不能全部显示,请点此查看更多更全内容