使用bochs和grub建立可引导硬盘镜像

本文介绍了如何使用bochs虚拟机创建硬盘镜像,并通过grub进行引导。步骤包括制作空白硬盘镜像、初始化磁盘分区、格式化文件系统、安装grub以及启动bochs。通过这个过程,最终能在bochs中进入grub引导界面。
摘要由CSDN通过智能技术生成

bochs,发音同box,是我非常喜欢的虚拟机,灵活易用方便配置,功能极强,用来调试Linux内核是非常合适的。这篇博文主要讲解如何建立硬盘镜像,并且将grub安装上去,最后的结果就是bochs启动后能进入到grub引导界面。下一篇博客再讲解如何在镜像上安装Linux内核。


硬盘基础知识

硬盘的专业术语中有:柱面,磁头,扇区,每磁道扇区数这几个概念。

  1. 每个盘片有两个磁头,分别位于两面上,从0开始依次编号,英语中称为Heads,汉语中一般翻译为0面、1面......一般来说硬盘有16个盘面(磁头)
  2. 每个面都有很多同心圆轨道称为磁道,从外向内依此编号为0道、1道......,英语中称为Tracks
  3. 所有盘面上半径相同的磁道正好组成一个圆柱面,称为柱面,和磁道编号相同,英语中称为Cylinders
  4. 每个磁道上划分出很多扇形区域,称为扇区,每个磁道上的扇区都从1开始编号,每个扇区512字节,英语中称为Sectors。一个磁道一般有63个扇区。
  5. 磁盘定位使用CHS,即柱面、磁头、扇区,或称为磁道、盘面、扇区。通常所说的0面0道1扇区指的就是第0面(第0号磁头)、第0磁道(柱面)、第1扇区。
  6. 一个需要注意的地方:每磁道扇区编号从1开始,全硬盘绝对扇区编号从0开始。
  7. 整块硬盘可以分为很多分区,每个分区可以格式化为不同的文件系统。每个分区的第1扇区(相对该分区开始来讲),叫做引导扇区(Boot Sector)。在全硬盘的第0扇区,也有一块引导扇区,为了以示区别,将之称为主引导扇区(Master Boot Sector,MBR)。MBR里面前446字节是引导程序,后面紧跟64字节的分区表,再加上2字节的引导标志正好是512字节。每个分区的分区表表项为16字节,整个分区表可以记录四个分区的信息,所以一块硬盘只能有4个主分区。引导扇区一共5个(4个分区的+1个MBR)
  8. 每个柱面的扇区数为:63x16,又因为每个扇区512字节,所以一个柱面共计63x16x512=516096B

制作空白硬盘镜像

我们制作一个50M左右的镜像,16个磁头,每磁道扇区数63,即一个柱面516096个字节,大约需要100个柱面。

dd if=/dev/zero of=hd.img bs=516096c count=100
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值