通过硬盘上的iso文件安装Ubuntu的方法
方法来自于网络,特将过程备忘如下:
1、grub4dos,
下载:http://nufans.net/grub4dos/grub4dos-0.4.4-2009-10-16.zip.
以上链接似乎是我能找到的最新版本的grub4dos了,如果你安装Ubuntu时,硬盘分区选择ext4格式,那么只有使用这个最新的版本才能够识别,若你需要从grub4dos引导你的话,这非常重要。
安装:我们选择从Windows引导器启动grub的方法,有两种情况,在vista/win7之前(即Win2000、XP、Win2003等),MS的OS使用的引导程序叫:NTLDR,而从vista(包括其后的Win7)开始,MS启用了新的引导程序 被称为:Boot Manager。以下将分别介绍在两种情况下,安装grub4dos的不同方法:
1.1、在NTLDR下安装(针对Win2000\XP\Win2003):
在c:\boot.ini 文件中添加以下内容:
C:\GRLDR.MBR="Grub for DOS"
请不要忘记将GRLDR.MBR,grldr两个文件(在你 下载的 grub4dos包中)复制到c:\目录下。
1.2、在BootManager下安装(针对Win7\Vista)
以管理员身份运行cmd.exe,然后执行以下命令:
//请注意:该命令执行后 会返回{ID}结果,该结果是后续命令的参数之一
bcdedit /create /d "grub for dos" /application bootsector
bcdedit /set {id} device boot
//指定grldr.mbr文件路径
bcdedit /set {id} path \grldr.mbr
//指定启动项显示顺序
bcdedit /displayorder {id} /addlast
同样不要忘记将 GRLDR.MBR ,grldr两个 文件复制到目标路径哦。
关于bcdedit命令还有GUI 免费 工具EasyBCD,你也可以下载使用,网上也有一些自动化脚本,具体请参考:http://blog.csdn.net/civilman/archive/2010/10/31/5977105.aspx
其实在Win7下也可以通过boot.ini安装Grub4dos,具体方法参见:http://www.kisa747.com/windows7-grub4dos.html
2、Ubuntu-xxx.iso下载,可以从官方网站下载,或从以下国内的镜像站点下载:
搜狐镜像:http://mirrors.sohu.com/ubuntu-releases/
网易镜像:http://mirrors.163.com/ubuntu-releases/
3、从ubuntu-xxx.iso中解压出 .disk文件夹,及 casper/ vmlinuz 、 casper/ initrd.lz 两个文件到C盘根目录。
4、 grub使用如下命令:
root (hd0,6) #这是你放iso的分区
kernel /vmlinuz boot=casper noacpi iso-scan/filename=/ubuntu-xx.iso ro quiet splash --label check live-install locale=zh_CN.UTF-8
initrd /initrd.lz
boot
补充新方法,可以不用从iso中解出以上文件
可以通过grub4dos的map命令将iso映射到虚拟盘,然后从虚拟盘加载以上两个文件,具体命令如下:
//将c:盘(即hd0,0)根目录下的iso文件 映射到hd32
map -mem (hd0,0)/ubuntu.iso (hd32)
map --hook
//指定启动位置到(hd0,0)
root (hd0,0)
//从虚拟盘中加载 vmlinuz、initrd.gz
kernel (hd32)/casper/vmlinuz boot=casper noacpi iso-scan/filename=/ubuntu-xx.iso ro quiet splash --label check live-install locale=zh_CN.UTF-8
initrd (hd32)/casper/initrd.gz
//开始引导
boot
从虚拟盘hd32 中读取vmlinuz、initrd.gz文件后,当控制权交给kernel ,计算机就从实模式过渡到保护模式,虚拟盘hd32也就不存在了。
请注意,如果内存不够大 则请取消map命令的-mem参数,但你得保证.iso文件(在磁盘上)是连续存放的。
5、稍等即进入ubuntu的liveCD模式,此时打开一个终端(Terminal Or Shell),在里面输入:
sudo umount -l /isodevice
接着点击桌面上的安装图标即可开始安装过程。
6、分区,Ubuntu至少需要两个分区:swap和/:
- 系统空间,通常是选择ExtX文件系统,挂载点选为 /,并选择该分区为‘主分区’。
- swap交换空间,相当于windows下的虚拟内存,根据内存大小进行分配,通常分配的空间与内存大小一致;
推荐分区方案:
方案1:适合初学者
/ :系统根目录,所有目录都挂载在该目录下,要求至少大于5GB;
swap:交换分区,实现虚拟内存,应该是物理内存的1~2倍;
/home:存放普通用户数据,是普通用户的宿主目录,建议使用剩余空间;
方案2:适合开发者
/:要求至少大于5GB
swap:交换分区,实现虚拟内存,应该是物理内存的1~2倍;
/boot :用于存放与Linux系统启动有关的程序,建议大于100M;
/usr:用于存放系统中的应用程序,其相关数据较多,建议大于3GB;l
/home:存放普通用户数据,是普通用户的宿主目录,建议使用剩余空间;
7、接下来就是设置用户密码等等的问题了,按提示做就行了。但是记得在此过程中要拔掉网线,因为ubuntu在安装过程上会自动从官方下载一些更新,由于默认下载“源"地址设在欧洲,对于我们来说下载特级慢,所以还是把更新放在系统安装后进行吧。
8、安装完成后,重启时,如果你并未把Ubuntu的引导程序安装到MBR,那么就需要通过grub4dos来引导Ubuntu10.10,方法很简单,通过以下的grub命令即可完成:
root (hd0,X)
kernel /vmlinuz root=/dev/sdaX ro quiet splash
initrd initrd.img
boot
需要注意的是,如果你选择的是文件系统格式是ext4,那么一定要使用最新版本的grub,否则会引导失败。
8.2、从Windows的引导器启动Ubuntu
除了从grub引导Ubuntu之外,还可以使用“引导扇区文件”的方法,从Windows的引导区直接启动Ubuntu。
8.2.1、制作引导扇区文件:
进入Ununtu系统,执行以下命令:
dd if=/dev/hdX of=/media/ubuntu.bin bs=512 count=1
“dd” 是命令,后面是参数,“ubuntu.bin”是目标文件名(你也可以任意命名),bs=512是因为引导信息在前512字节。需要注意的是,1,如果你用的是sata硬盘,其中的“hdX”要改成“sdX”(看fstab就知道了),2、hdX中的X是一个整数,取决于Ubuntu被安装在哪个分区上。
8.2.2、在Windows引导程序中,添加引导项,并将其指向引导扇区文件,同样有两种情况:
A、 NTLDR中:向C:\boot.ini文件中添加以下内容:
C:\ubuntu.bin="Boot Ubuntu"
不要忘记将上一步骤生成的ubuntu.bin文件复制到C:\根目录下;。。。
B、BootManager:执行以下命令:
//该命令执行后会有返回结果{ID}
bcdedit /create /d "Boot Ubuntu" /application bootsector
bcdedit /set {ID} device boot
bcdedit /set {ID} path \ubuntu.bin
bcdedit /displayorder {ID} /addlast
关于该方法的更多信息请参考以下资料:
- http://hi.baidu.com/pleasure8/blog/item/0464b9ddcc5ceb355982dd05.html
- http://blog.donews.com/bluez/archive/2010/05/04/1582099.aspx
- http://hi.baidu.com/enjoycong/blog/item/a53045deb38fc950ccbf1a2b.html
9、首次成功启动后,请插上网线,完成系统更新。通过更新管理器--->设置--->选择最佳服务器,我通过测试,选择了链接速度最快的服务器(网易) ,然后开始更新....
注意点:
- 下载好的iso文件可以放置在任何分区的根目录下,位置主要与grub中的命令有关;
- 仅仅需要将iso中的/casper/initrd.gz和/casper/vmlinuz两个文件解压缩到和.iso相同的分区根目录下即可,不需要解压整个casper目录,因为该目录很大;
- 如果你仍想使用windows的boot loader来引导ubuntu的话,一定要记得不要把Boot Loader的安装位置选择为整个硬盘的MBR,而应选择为Ubuntu所在的分区,不然ubuntu会 修改MBR, 安装自己的引导程序grub2。
。。