一、虚拟机配置
-
virtualbox
sudo apt-get install virtualbox #安装virtualbox 甲骨文旗下的虚拟机
-
新建虚拟机
- 设备配置(虚拟机名称、cpu类型,内存大小,硬盘大小等)
二、新建虚拟硬盘及安装grup引导
-
新建100M文件
dd bs=512 if=/dev/zero of=hd.img count=204800 说明: bs:表示块的大小,这里是512字节 if:表示输入文件,/dev/zero就是linux专门返回0数据的设备文件,读取它返回的就是0 of:表示输出文件,即硬盘文件 count:输出文件有多少块
-
格式化硬盘
sudo loseup /dev/loop0 hd.img #将hd.img变成linux下的回环设备 sudo mkfs.ext4 -q /dev/loop0 #在回环设备中建立ext4文件系统 sudo mount -o loop ./hd.img ./hdisk #挂载硬盘文件 sudo mkdir ./hdisk/boot/ #建立boot目录
-
安装grup
sudosudo grub-install --boot-directory=./hdisk/boot/ --force --allow-floppy /dev/loop0 --target i386-pc 说明: --boot-directorty: 指向虚拟硬盘中的boot目录 --force --allow-floppy:指向虚拟硬盘设备文件/dev/loop0 此步骤可能会遇到以下问题(可忽略) 正在为 i386-pc 平台进行安装。 grub-install:警告: 文件系统“ext2”不支持嵌入. grub-install:警告: 无法嵌入。在此次安装中 GRUB 只能通过使用块列表安装。但是块列表是不可信赖的,不推荐使用。. 安装完成。没有报告错误。 配置grup menuentry 'HelloOS' { insmod part_msdos insmod ext2 set root='hd0,msdos1' #加载分区,只有一个分区 ‘hd0,msdos1’ multiboot2 /boot/HelloOS.eki # 加载boot目录下的HelloOS.eki文件 boot #引导启动 } set timeout_style=menu if [ "${timeout}" = 0 ]; then set timeout=10 #等待10秒钟自动启动 fi
三、运行虚拟机
- 安装虚拟硬盘
# 第一步 SATA 的硬盘控制器是 intelAHCI,安装硬盘控制器
VBoxManage storagectl Hello_OS --name "SATA" --add sata --controller IntelAhci --portcount 1
# 第二步 删除虚拟硬盘中UUID 并重新分配
VBoxManage closemedium disk ./hd.vdi
# 第三步 挂载虚拟硬盘到制定系统上
VBoxManage storageattach Hello_OS --storagectl "SATA" --port 1 --device 0 --type hdd --medium ./hd.vdi
- 虚拟机运行
VBoxManage startvm Hello_OS