制作GRUB2启动镜像

1.创建空镜像

$ dd if=/dev/zero of=disk.img bs=512 count=131072

2.新建一个bootable分区

$ fdisk disk.img
Command (m for help): n
Partition type:
  p   primary (0 primary, 0 extended, 4 free)
  e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-131071, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-131071, default 131071): 
Using default value 131071
Command (m for help): a 
Partition number (1-4): 1
Command (m for help): w
The partition table has been altered!
Syncing disks.

3.使用loop把分区挂载

 $ sudo losetup /dev/loop0 disk.img
 $ sudo losetup /dev/loop1 disk.img -o 1048576
 # 1048576 == 1MB,上面创建分区时从2048扇区开始,2048 × 512B

4.格式化分区

 $ sudo mkfs.ext4 /dev/loop1
 $ sudo mount /dev/loop1 /mnt

5.安装grub2

 $ sudo grub-install --root-directory=/mnt --no-floppy \
 --modules="normal part_msdos ext2 multiboot  biosdisk" /dev/loop0

6.启动试一下

$ qemu-system-x86_64 -m 256 -display gtk disk.img
#因为没有系统,启动后会进入grub shell

参考http://wiki.osdev.org/GRUB_2#Disk_image_instructions

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.目录说明 cong@msi:/work/os/rootfs/grub/grub0.97$ tree . ├── bash -->a.out格式 ├── bochrc -->bochs启动配置 ├── bzImage -->linux-2.4.12的内核 ├── createminix.sh -->创建minix文件系统硬盘镜像的脚本 ├── creatext2.sh -->创建ext文件系统硬盘镜像的脚本 ├── grub -->在grub的install时会用到 │ ├── default │ ├── device.map │ ├── e2fs_stage1_5 │ ├── fat_stage1_5 │ ├── installed-version │ ├── jfs_stage1_5 │ ├── menu.lst -->现在默认是引导bzImage │ ├── menu.lst_bak │ ├── minix_stage1_5 │ ├── reiserfs_stage1_5 │ ├── stage1 │ ├── stage2 │ └── xfs_stage1_5 ├── grub-floppy ├── grub-install ├── grub-md5-crypt ├── grub-mkdevicemap ├── grub-probe ├── grub-reboot ├── grub-set-default ├── grub_sh -->grub的命令行,但与grub目录重名,改名了 ├── grub-terminfo ├── Image -->linux-0.12的内核 ├── Makefile -->make qemu 启动qemu ├── mkfs -->格式化minix文件系统的命令 └── Readme.txt 2. 使用说明 2.1 创建minix的硬盘镜像 a. 执行createminix.sh脚本会在当前目录下生成hdminix.img cong@msi:/work/os/rootfs/grub/grub0.97$ ./执行createminix.sh b.启动qemu即可看到启动grub的界面 cong@msi:/work/os/rootfs/grub/grub0.97$ make qemu 默认是引导了bzImage,需要默认引导Image就把menu.lst中的default 0 --->default 1 2.2 创建ext2的硬盘镜像 a. 执行creatext2.sh脚本会在当前目录下生成hdc.img cong@msi:/work/os/rootfs/grub/grub0.97$ ./creatext2.sh b.启动qemu即可看到启动grub的界面 cong@msi:/work/os/rootfs/grub/grub0.97$ make qemu 默认是引导了bzImage

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值