操作系统课程记录(2)——制作grub启动盘(2)
来源:互联网 发布:淘宝店铺起名大全家居 编辑:程序博客网 时间:2024/05/19 14:15
准备grub-0.97-i386-pc.tar.gz
grub是一个多操作系统启动程序。系统的引导过程是载硬盘启动的时候,Bios转向主引导记录,之后引导装载程序,实际上就是grub。它允许用户装载一个特定的操作系统(比如linux内核)。
下载到的可能并不是已经编译好的grub,如果不是需要自行编译。网上也提供编译好了的grub,所以为了方便,还是推荐直接下载编译好了的版本。
接下来解压:
tar -xzvf grub-0.97-i386-pc.tar.gz
准备映像
cddd if=/dev/zero of=a.img bs=512 count=2880
添加grub启动功能
sudo losetup /dev/loop3 a.imgsudo dd if=./grub-0.97-i386-pc/boot/grub/stage1 of=/dev/loop3 bs=512 count=1sudo dd if=./grub-0.97-i386-pc/boot/grub/stage2 of=/dev/loop3 bs=512 seek=1sudo losetup -d /dev/loop3
测试能否进入grub界面
qemu-system-i386 -fda a.img
我要是还提供图片说明grub界面正确的是怎么样,我就需要重新做一遍了。然而我比较懒,嗯。正不正确大致可以看出来的。
准备磁盘映像
dd if=/dev/zero of=32M.img bs=4096 count=8192sudo losetup /dev/loop3 32M.imgsudo fdisk /dev/loop3
fdisk这一步,操作顺序大致是n(添加新分区),p(列出分区列表),1(选择第一个分区),(默认的数字start),(默认的数字end),w(把分区写入硬盘并且退出)。这时候你需要记下那个数字start,因为你可能不采用它给的默认数字。下面第二句中的num_start等于start*512,一定要记得替换。
sudo losetup -d /dev/loop3sudo losetup -o num_start /dev/loop3 32M.imgsudo mke2fs /dev/loop3sudo mount /dev/loop3 rootfs
拷贝前面制作的bzImage和rootfs.img。其中bzImage在linux源码目录中,rootfs.img在与rootfs相同的目录中。对于我这里,是这样操作的:
cdsudo cp rootfs.img rootfssudo cp ./Downloads/linux-3.10.98/arch/x86/boot/bzImage rootfs
增加grub功能
sudo mkdir rootfs/bootsudo mkdir rootfs/boot/grubsudo cp ./grub-0.97-i386-pc/boot/grub/* rootfs/boot/grub
在rootfs/boot/grub下编写menu.lst,具有以下内容:(你可以选择你喜欢的文本编辑器编写,你在rootfs写可能不能直接编写,你可以在home底下写完之后,然后sudo cp
到目标目录下。或者你通过sudo nautilus
打开能够资源管理器使得你能够操作里面普通用户不能操作的目录)。
default 0 timeout 30 title linux on 32M.img root (hd0,0) kernel (hd0,0)/bzImage root=/dev/ram init=/bin/ash initrd (hd0,0)/rootfs.img
利用grub启动软盘,在硬盘映像上添加grub功能
qemu-system-i386 -boot a -fda a.img -hda 32M.img
进入grub界面后
root (hd0,0)setup (hd0)
然后esc,选择从linux进入。或者先退出grub,然后
qemu-system-i386 -hda 32M.img
运行
qemu -kernel arch/x86/boot/bzImage -s -S
可以看到新打开的qemu虚拟机上,整个都是黑屏,此时qemu在等待gdb的链接。
- 操作系统课程记录(2)————制作grub启动盘(1)
- 操作系统课程记录(2)——制作grub启动盘(2)
- 制作grub 0.97启动盘
- grub 启动盘制作
- 操作系统课程记录(1)——感想
- MIT操作系统课程CS6.828实验(2) —— 实验工具指导
- U大师U盘启动盘制作工具(V1.1.0版)——升级U盘
- 秘籍——制作 W2K 启动盘!
- 制作Linux的优盘(usb)启动盘
- 用移动硬盘安装win7(制作启动盘)
- Ubuntu启动盘制作(U盘)
- 制作一个USB 多启动盘(MBR)
- 制作Ubuntu安装启动盘(U盘)
- 如何制作U盘启动盘(Ubuntu)
- 操作系统学习笔记(6)--启动盘制作
- 先从制作操作系统启动盘开始吧
- 用U盘制作启动盘来引导linux,修复grub
- 用u盘制作grub启动盘[来源不详]
- Android车载camera的调试-Bring up(1)
- 预装win8笔记本重装win7系统设置完成后无法从启动盘进入系统
- 51Nod 1681 公共祖先 [主席树做法]
- Angular2 -- SystemJS解析
- java编写日记软件
- 操作系统课程记录(2)——制作grub启动盘(2)
- 转接IC NCS8807:LVDS转miniLVDS芯片
- Hbase:PleaseHoldException: Master is initializing
- MFC通过windowsAPI控制计算机关机,注销,重启
- MC9S12G系列mcu ,spi波特率特性研究
- 刨根问底U3D---从Profile中窥探Unity的内存管理
- qt使用动态库(DLL)
- hierarchical mutex
- codeforces672D(经典二分)