天天看点

Windows 系统下从硬盘安装 Ubuntu 和 Debian

几天前就想要用Debian替换掉Ubuntu,结果,由于自己刚装的win7,不知道win7在安装的时候“偷偷”建了一个100M的隐藏分区,一直无法通过硬盘安装。虽然已经刻了盘,但心里不爽,特在虚拟机上折腾了几天,终于弄明白了-_- 自己装好系统后,记录一下庆祝学习过程,也希望有这方面打算的朋友不要走小生的弯路。

        由于机器上不一定是双系统,就顺带把机器上只有Windows的情况也说一下吧。

        本文共分为三个部分如下:

               1>在windows系统下从硬盘安装Ubuntu的方法

               2>在windows系统下从硬盘安装Debian的方法

               3>在Ubuntu系统下从硬盘安装Debian的方法

        小生系初学者,如有错误,恳请路过高手指正,谢谢^_^

**********************************************************倔强滴分割线****************************************************************

说一下准备工作:    

1.机器至少装上Win7。这个不多说了吧,Win7硬盘安装很快很傻瓜

Windows 系统下从硬盘安装 Ubuntu 和 Debian

,当然,装了XP的朋友更简单了。

2.下载grub4dos(想从Windows下安装的朋友必须的,但是如果机器上有Ubuntu并且想要从Ubuntu下安装的朋友就不用下了),貌似目前最新的版本是0.4.4。可以从此处下载: thunder://QUFodHRwOi8vNjEuMTYzLjkyLjE2Nzo4Mi9kb3duL2dydWI0ZG9zLTAuNC40LTIwMDktMDEtMTEuemlwWlo=

3.有一个fat32的分区,当然有ext3更好。下文中如未特殊说明,Windows下镜像文件所放的分区类型最好是fat32。(在这里有一点要说明的是,不太确定新版本的grub是否能引导ntfs分区上的镜像文件,所以保守点推荐使用fat32和ext3,但是使用fat32的话无法使用DVD镜像文件,确实很纠结。虽然在下面的例子中我的引导分区格式都是ntfs格式,但是能够成功从ntfs分区上引导的原因很可能是在ext3分区中也有镜像文件存放,这一点请参见最后的总结说明,有想要赌一下的朋友随意喽~)

**********************************************************倔强滴分割线****************************************************************

一、在windows下,从硬盘安装Ubuntu的方法。

大前提:下载你想要安装的版本的镜像文件,这里使用的是Ubuntu 9.10:

        Ubuntu 9.10:ubuntu-9.10-desktop-i386.iso

        可以从此处下载:   http://cn.archive.ubuntu.com/ubuntu-releases/9.10/ubuntu-9.10-desktop-i386.iso

1. 将grub4dos下的grldr、grldr.mbr和menu.lst解压出来,其它的可以扔了。然后,分两种情况:

       1>Win7的系统:如果在装系统的过程中创建了100M的隐藏分区的话(没有这100M隐藏分区的同学直接看第2种情况,同XP),在 控制面板->管理员工具->计算机管理->磁盘管理 中,选中100M隐藏分区,右击->更改驱动器盘符和路径,如 图-1 。然后在弹出的对话框里按照 图-2 所示进行操作,盘符可以自己选择。确定后在我的电脑里就可以看到这个分区。自己新建立一个boot.ini的文件,然后将boot.ini和grub4dos里的那三个文件全都放到这个隐藏分区中。(转第2步)

Windows 系统下从硬盘安装 Ubuntu 和 Debian
Windows 系统下从硬盘安装 Ubuntu 和 Debian

图 2

        2>XP的系统:自己新建立一个boot.ini的文件,然后将boot.ini和grub4dos里的那三个文件全都扔到C盘根目录下(即C:/)。

2. 修改boot.ini文件,如下:

        [boot loader]

        [operating systems]

        C:/grldr.mbr="Ubuntu 9.10 "

然后保存。

//***************************************************************注释开始*************************************************************

注意,红色部分的内容是随意的,这里这样写主要是因为我首先装的Ubuntu的版本是9.10的。但实际上这里随便写什么都可以。

//***************************************************************注释结束*************************************************************

3. 修改menu.lst文件,原文件中的内容直接清空,添加内容如下:

        title Install Ubuntu

        root  (hd0,0)

        kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-i386.iso   ro quiet splash locale=zh_CN.UTF-8

        initrd /initrd.lz

然后保存。

//***************************************************************注释开始*************************************************************

注意:

        1>上面的内容里的root一栏的红色部分:Win7下有隐藏的100M分区的应该使用(hd0,1);Win7下没有隐藏的100M分区和XP的情况下使用(hd0,0)。

        2>上面的内容里的kernel部分:其中红色部分请自己改成你的镜像文件的名称;而后面的蓝色部分可加可不加,看安装过程有没有问题喽,一般加上更保险。

Windows 系统下从硬盘安装 Ubuntu 和 Debian

        3>Ubuntu 以往的版本里使用的都是initrd.gz,而Ubuntu 9.10开始使用的是initrd.lz,这点需要注意一下,请根据自己所使用的系统版本自行修改。

//***************************************************************注释结束*************************************************************

4. 这一步只限于Win7下有100M隐藏分区的朋友:将隐藏分区的盘符去掉,不然会出现无法引导的现象。方法和添加盘符的方法相反,在弹出的对话框中选中100M隐藏分区的盘符,直接点 移除 即可。

5. 将Ubuntu镜像文件使用rar或虚拟光驱打开,将casper文件夹中的vmlinuz和initrd.lz(或initrd.gz)拷贝出来,然后将这两个文件和镜像文件拷贝到同一根目录下,当然拷贝到C盘的根目录下最方便不过。如果不是C盘的根目录,第3步中的root中的红色部分将会有所变化。请通过第1步中 管理磁盘工具 看一下硬盘上的分区情况,简单的说就是:将主分区从左向右从0开始逐渐加1(这里忽略逻辑分区),而逻辑分区从最左边的逻辑分区向右从3开始逐渐加1(这里忽略主分区)。然后根据文件放置的位置,将root部分的红色部分的第二个"0"改成对应的数字。如,文件放置在了第3个主分区上,则改成 (hd0,2)。

6.重启->Ubuntu 9.10->Install Ubuntu ,成功引导后就像使用光盘安装时一样了。

//***************************************************************注释开始*************************************************************

这里顺便提一下grub4dos的使用问题:如果按照上面的方法,文件路径没有放置错而没有成功启动:

       1>如果你没看到Ubuntu 9.10(如 图-3 )这个画面而是直接进入Windows系统启动过程,请检查下你的boot.ini是否写错或者是否有文件放置在错误的路径下。

Windows 系统下从硬盘安装 Ubuntu 和 Debian

图 3

        2>如果能看到Install Ubuntu这一选项(如 图-4 ),然后提示启动错误,估计就是menu.lst出了问题,当然,

Windows 系统下从硬盘安装 Ubuntu 和 Debian

 图 4

一般也就是这里会出问题了。此时很可能看到的错误信息是:Error 15   file not found。如果你不想反复重启到Windows下去修改menu.lst文件的话,就得自己敲命令喽。最简单的办法就是试(没关系,不会对你的机器有什么影响):例如你记得文件放置在第2个分区中(Win7中有隐藏分区的算上隐藏分区),将2减1等于1,那么在Install Ubuntu的这个选项界面(或出错提示界面)按一下"c"进入命令行状态,这时屏幕上会出现grub命令提示符(如 图-5 )。在命令提示符下面手动输入 root (hd0,1) 回车。grub会将启动路径切换到对应分区根目录下,命令执行成功的时界面将显示该分区的文件类型(如 图-6 )。然后将menu.lis文件中kernel和initrd命令也手动输入,如果文件存

Windows 系统下从硬盘安装 Ubuntu 和 Debian

图 5

Windows 系统下从硬盘安装 Ubuntu 和 Debian

图 6

Windows 系统下从硬盘安装 Ubuntu 和 Debian

图 7

在的话,将会有提示信息(如 图-7 )。这三步中任意一条提示出错的话,则重新估计你的文件所存放的分区的可能的标号并更换root命令中(hd0,0)的最后一个数字。当然,这个数字不需要一直试下去,超过6以后可以说基本就没意义了(你不会把windows分超过7个盘吧)。那就去检查前面几步的设置吧。如果上面三步都没有问题,恭喜你,你可以输入 boot ,然后回车就可以了。这时就开始引导Ubuntu了。

//***************************************************************注释结束*************************************************************

7.在成功引导后,等一下进入的是Ubuntu的图形化安装界面(如 图-8 )。首先打开终端,输入mount 回车,看是否有挂载在 /isodevice 的分区,如 图-8 中红色圈出来的地方所示。然后执行命令 sudo umount -l /isodevice 将挂载在 /isodevice 的分区卸载掉,不然后续安装会有问题。卸载完后双击桌面上的安装Ubuntu 9.10的图标开始安装(废话了)。

Windows 系统下从硬盘安装 Ubuntu 和 Debian

图 8

**********************************************************倔强滴分割线****************************************************************

二、在Windows下,从硬盘安装Debian的方法。

大前提:下载你想要使用的版本的镜像文件,这里使用的是Debian 504

        Debian 504 :debian-504-i386-CD-1.iso

        可以从此处下载:    http://cdimage.debian.org/debian-cd/5.0.4/i386/iso-cd/debian-504-i386-CD-1.iso

        此外,虽然镜像文件中的install.386文件夹中也有vmlinuz和initrd.gz,但是这两个文件是为从光盘引导准备的,所以还需要另外下载这两个文件的用于从硬盘引导的版本(-_-好麻烦)。即:

 硬盘版: vmlinuz  和  initrd.gz。可此从此处下载:http://mirrors.163.com/debian/dists/Debian5.0.4/main/installer-i386/current/images/hd-media/

        在Windows下从硬盘安装Debian的步骤同在Windows下从硬盘安装Ubuntu的方法基本相同,只有两个地方稍有区别。其中一个如上所说:vmlinuz和initrd.gz需要另行下载;另一个区别是:修改menu.lst中的内容为(假设镜像和另外两个文件放在第三个分区上):

        title Install Debian

        root (hd0,2)

        kernel /vmlinuz

        initrd /initrd.gz

然后保存,重启。(比Ubuntu的menu.lst里的内容简单多了,主要是另行下载的那两个小文件的功劳

Windows 系统下从硬盘安装 Ubuntu 和 Debian

//***************************************************************注释开始*************************************************************

如果出现无法引导的问题,解决方法同装Ubuntu时的一样,区别在于敲入的命令对应于装Debian时menu.lst里的内容。例如:我的Debian镜像放在了第三个分区,我的grub命令如 图-9 所示。最后别忘了输入 boot 回车。

Windows 系统下从硬盘安装 Ubuntu 和 Debian

  图 9

//***************************************************************注释结束*************************************************************

**********************************************************倔强滴分割线****************************************************************

Windows 系统下从硬盘安装 Ubuntu 和 Debian

三、在Ubuntu下,从硬盘安装Debian的方法。

        可以从此处下载:    http://cdimage.debian.org/debian-cd/5.0.4/i386/iso-cd/debian-504-i386-CD-1.iso

同在Windows下从硬盘安装Debian一样,vmlinuz和initrd.gz也必须是支持硬盘安装的对应版本。可此从此处下载:http://mirrors.163.com/debian/dists/Debian5.0.4/main/installer-i386/current/images/hd-media/

1.可以将以上三个文件放置在Windows分区下,也可以放置在Ubuntu分区下。

2.在Ubuntu下文件的放置位置似乎没有特别规定,我只对3个位置(/ , /boot/ , /boot/ubuntu/ )测试过,按理说任何位置都可以,只要引导时给出绝对路径即可。

3.引导的时候:

        1>可以采用Windows下的grub4dos来引导,这样的话,同第二部分将的做法是一样的,这里就不多啰嗦了。

        2>采用Ubuntu下的grub引导来引导,本来和从Windows下一样很容易,但乍一使用9.10才发现,grub的版本升级了,grub文件夹下没有menu.lst文件。由于在grub下面没有找到menu.lst,一时间不知道如何去更改启动菜单,只好使用笨方法——grub命令行,惭愧。因此这里主要介绍一下使用Ubuntu 9.10的grub的命令行来引导镜像文件从硬盘进行安装Debian的方法。图-10 给出的是9.10所使用的grub的界面,版本是1.97的,竟是beta版的!

大前提:下载你想要使用的版本的镜像文件,这里使用的是Debian 504

          Debian 504 :debian-504-i386-CD-1.iso

图 11

不过这种非dos下的grub会很明显的告诉你Ubuntu的启动文件所在的分区,如上图中第5行的 root=(hd0,3) 所示,启动分区在第3分区(注意,Ubuntu9.10所使用的这个版本的grub和以前的另一个不同之处是,分区标识不再从0开始,而是从1开始)。看过这个之后,再加上第二部分所提到的硬盘安装Debian的方法,很容易知道使用什么命令来引导了(假设镜像文件和vmlinuz以及initrd.gz都放在第3分区的根目录下):

        root (hd0,3)

        linux /vmlinuz

        initrd /initrd.gz

        boot

就是这么简单。需要注意的是,Ubuntu下的grub需要按Ctrl+c的组合键进入命令行模式。我的文件是放在Win7的C盘下的,含有隐藏分区,我的命令如 图-12 所示:

Windows 系统下从硬盘安装 Ubuntu 和 Debian

*********************************************************倔强滴分割线****************************************************************

四、这里简单的提一下从U盘安装的情况:

        实际上和从硬盘安装时一种方式,只是将启动路径里的标识更改一下,假设机器上只有一块硬盘,只插上一个U盘的情况下,如果文件都放在了第一个分区上,那么从硬盘和从U盘引导的主要差别如下:

                从硬盘:        root (hd0,0)

                从U盘:         root (hd1,0)

这一次更改的是前面的一位数字。 其他引导部分和前面所介绍的完全一样。因此如果硬盘上如果没有空间用来格式成fat32或者ext3的分区用于存放镜像文件的话,可以找个U盘替代。

**********************************************************倔强滴分割线****************************************************************

以下是两个自己注意到的问题,有看到并且有不同观点的朋友希望能提出来,敬请赐教:

1.Grub不能识别Windows的ntfs分区,从而无法引导在ntfs分区上的安装。但是安装Debian的过程中,似乎只要有一个fat32或者ext3的分区根目录下存放了镜像文件,那么可以讲vmlinuz和initrd.gz放在ntfs的分区中引导,引导后系统安装程序会自动扫描整个磁盘上所有的分区并查找镜像文件进行安装。

2.在Ubuntu 下可以将镜像文件放置在根目录(即 / )下并从grub引导安装Debian系统,Debian系统覆盖原Ubuntu系统,没有问题。但是在Debian系统下,将想要安装的系统的镜像文件放置在根目录下,如果这一新安装的系统会覆盖原Debian系统,那么在分区格式化的过程中无法通过。

3.另外,在不同的grub版本下,有两个比较有用的命令可以试试,不同的版本支持的程度可能不同。

       1>find --set-root /vmlinuz       这条命令可以帮你找到包含这个文件的分区

       2>fdisk -l                                这条命令可以查看当然磁盘分区状态,方便引导分区挂载

转自:http://blog.163.com/sd-zz-sunhua/blog/static/1325444632010216113647879/

Windows 系统下从硬盘安装 Ubuntu 和 Debian

图10

看一下编辑选项,如 图-11 ,很明显和前面的grub命令方式有所不同。其中引导内核的第二步不再使用"kernel"命令,而是改成了 "linux"。

Windows 系统下从硬盘安装 Ubuntu 和 Debian

图11

不过这种非dos下的grub会很明显的告诉你Ubuntu的启动文件所在的分区,如上图中第5行的 root=(hd0,3) 所示,启动分区在第3分区(注意,Ubuntu9.10所使用的这个版本的grub和以前的另一个不同之处是,分区标识不再从0开始,而是从1开始)。看过这个之后,再加上第二部分所提到的硬盘安装Debian的方法,很容易知道使用什么命令来引导了(假设镜像文件和vmlinuz以及initrd.gz都放在第3分区的根目录下):

        root (hd0,3)

        linux /vmlinuz

        initrd /initrd.gz

        boot

就是这么简单。需要注意的是,Ubuntu下的grub需要按Ctrl+c的组合键进入命令行模式。我的文件是放在Win7的C盘下的,含有隐藏分区,我的命令如 图-12 所示:

Windows 系统下从硬盘安装 Ubuntu 和 Debian

图12

*********************************************************倔强滴分割线****************************************************************

四、这里简单的提一下从U盘安装的情况:

        实际上和从硬盘安装时一种方式,只是将启动路径里的标识更改一下,假设机器上只有一块硬盘,只插上一个U盘的情况下,如果文件都放在了第一个分区上,那么从硬盘和从U盘引导的主要差别如下:

                从硬盘:        root (hd0,0)

                从U盘:         root (hd1,0)

这一次更改的是前面的一位数字。 其他引导部分和前面所介绍的完全一样。因此如果硬盘上如果没有空间用来格式成fat32或者ext3的分区用于存放镜像文件的话,可以找个U盘替代。

**********************************************************倔强滴分割线****************************************************************

以下是两个自己注意到的问题,有看到并且有不同观点的朋友希望能提出来,敬请赐教:

1.Grub不能识别Windows的ntfs分区,从而无法引导在ntfs分区上的安装。但是安装Debian的过程中,似乎只要有一个fat32或者ext3的分区根目录下存放了镜像文件,那么可以讲vmlinuz和initrd.gz放在ntfs的分区中引导,引导后系统安装程序会自动扫描整个磁盘上所有的分区并查找镜像文件进行安装。

2.在Ubuntu 下可以将镜像文件放置在根目录(即 / )下并从grub引导安装Debian系统,Debian系统覆盖原Ubuntu系统,没有问题。但是在Debian系统下,将想要安装的系统的镜像文件放置在根目录下,如果这一新安装的系统会覆盖原Debian系统,那么在分区格式化的过程中无法通过。

3.另外,在不同的grub版本下,有两个比较有用的命令可以试试,不同的版本支持的程度可能不同。

       1>find --set-root /vmlinuz       这条命令可以帮你找到包含这个文件的分区

       2>fdisk -l                                这条命令可以查看当然磁盘分区状态,方便引导分区挂载

转自:http://blog.163.com/sd-zz-sunhua/blog/static/1325444632010216113647879/