基于VirtualBox的Linux系统构建之grub的安装
本帖最后由 rouchel 于 2011-01-17 13:18 编辑
Host环境:Ubuntu 10.10 32位系统
第一步:安装VirtualBox
第二步:使用VirtualBox创建一个虚拟硬盘DISK1(默认8G大小),并安装一个Linux发行版,这里以Fedora-core 14为例
第三步:安装好Fedora之后,进入该系统,将用户的sudo权限添加上(/etc/sudoers),并安装nfs client,“sudo yum install nfs-utils”
第四步:将Fedora虚拟机关机,然后再创建一个新的硬盘DISK2(默认8G大小),此硬盘是为自己构建的Linux系统做准备
第五步:进入Fedora虚拟机,查看/dev目录下多了一个sdb,说明你的新的虚拟硬盘创建成功,然后对该硬盘进行分区,“sudo fdisk /dev/sdb”,划分成两个分区,一个分区大小为5G,一个分区大小为3G,后面会将grub2安装到第一个分区(5G),并在命令行使用"sudo mkfs.ext4 /dev/sdb1"将分区格式化成ext4格式
第六步:回到本地系统(Ubuntu),准备一个rootfs目录(先将grub工具安装在此目录里),例如:“mkdir /maxwit/rootfs”,并将此目录加入nfs共享目录(“/etc/exports”),重启nfs-server(若没有安装请先安装)
第七步:将grub安装至rootfs,先下载grub-1.98.tar.gz,然后解压->“./configure --prefix=/maxwit/rootfs/usr”->“make”->“make install”
第八步:进入Fedora虚拟机(打开虚拟机里标题栏的“Devices”,选择“Network Adapter”,在“Attached to:”选项里选择“Bridged Adepter”,点击“OK”),打开Terminal,将主机端的“/maxwit/rootfs” 用nfs方式mount到“/maxwit/rootfs”(没有该目录需自己创建),然后将虚拟机里的“/dev/sdb1”mount到“/mnt/part1”(没有该目录需自己创建)
第九步:安装grub到DISK2硬盘的第一个分区上,“/maxwit/rootfs/usr/sbin/grub-install --root-directory=/mnt/part1 /dev/sdb”,没有错误信息说明安装成功
第十步:进入“/mnt/part1/boot/grub”,创建“grub.cfg”文件,内容如下:
set timeout=10
menuentry `Hello LSB` {
set root=`(hd0, 1)`
linux /boot/vmlinuz-2.6.35 root=/dev/sda1
initrd /boot/initrd.img-2.6.35
}
第十一步:将Fedora虚拟机关闭,在VirtualBox设置里将该虚拟机的“Storage”里的DISK1.vdi从Controller上去掉(注意不是将该文件删除),然后“OK”重新启动虚拟机,启动之后会进入grub界面,“GNU GRUB version 1.98”,选择栏里有“Hello LSB”一项,恭喜你的grub安装成功
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
本帖最后由 RoverMo 于 2011-01-17 17:03 编辑
安装 VirtualBox Guest Addtions失败
解决方法:
查看 /var/log/vbox-install.log文件,发现: gcc : Command not found.
说明安装VirtualBox Guest Addtins时需要用到gcc进行编译, 而gcc未安装.
安装gcc方法:
(1)从网络安装
$sudo yum install gcc
(2)用系统安装盘中的包安装
1. 在/etc/yum.repos.d/目录下创建文件dvd_iso.repo,文件内容如下:
[ded_iso]
name = install from dvd_iso
baseurl = file:///media/Fedora%2014%20i386%20DVD/
enable = 1
gpgcheck = 0
2. mount光盘, 在我的机子,iso mount的路径是:/media/Fedora%2014%20i386%20DVD/
3.安装gcc
$sudo yum install gcc
注:此命令会读取dvd_iso.repo,然后以iso为源安装软件包.
修改完/etc/exports 之后
sudo exportfs
然后重启nfs-server
sudo service nfs-kernel-server restart
大家有没有fedora的DVD,livecd装完fedora之后fedora连gcc, ld, as 等基本工具都没有。网上下载速度又太慢了。
第六步:回到本地系统(Ubuntu),准备一个rootfs目录(先将grub工具安装在此目录里),例如:“mkdir /maxwit/rootfs”,并将此目录加入nfs共享目录(“/etc/exports”),重启nfs-server(若没有安装请先安装)
修改/etc/exports文件,在文件未尾加入如下内容,即可将/maxwit/rootfs作为nfs共享目录。
/maxwit/rootfs *(rw,sync,no_oubtree_check,no_root_squash)
第二步:将用户(假设user name 为rouchel)的sudo权限添加上(/etc/sudoers)。
使用root仅限打开/etc/sudoers文件,在该文件未尾,添加如下一行
rouchel ALL=(ALL) NOPASSWD: ALL