在硬盘上制作根文件系统.doc

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在硬盘上制作根文件系统

一、实验目标:

在硬盘上建立一个根文件系统,硬盘镜像文件的名称为:hdc-0.11.new.img

二、实验环境:

1、Vmware workation, bochs虚拟机,ultraedit编辑环境

2、用到的四个重要的镜像文件:bootimage-0.11-hd,hdc-0.1.img,并将他们放到

mylinux0.11文件夹中。

3、实验环境:redhat linux

三、实验理论依据:

1、Linux引导启动时,默认使用的文件系统是根文件系统。其中一般都包括以下一些子目录和文件:

etc/ 目录主要含有一些系统配置文件;

dev/ 含有设备特殊文件,用于使用文件操作语句操作设备;

bin/ 存放系统执行程序。例如sh、mkfs、fdisk等;

usr/ 存放库函数、手册和其它一些文件;

usr/bin 存放用户常用的普通命令;

var/ 用于存放系统运行时可变的数据或者是日志等信息。

存放文件系统的设备就是文件系统设备。Linux 0.11内核所支持的文件系统是MINIX

1.0文件系统。

2、inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬

盘、软盘、U盘... ... )被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode 值最快的找到相对应的文件。每一个文件开头都是一个inode。

做个比喻,比如一本书,存储设备或分区就相当于这本书,Block相当于书中的每一页,inode 就相当于这本书前面的目录,一本书有很多的内容,如果想查找某部份的内容,我们可以先查目录,通过目录能最快的找到我们想要看的内容。

四、实验过程:

说明:为了深刻理解每一步操作的含义文中有【】的,里面的内容均是解释性的。

1、在linux系统下使用dd命令创建hdc-0.11.new.img,步骤如下:

[root@localhost home]#mkdir mkhdcimage

[root@localhost home]# cd mkhdcimage

[root@localhost mkhdcimage]# dd if=/dev/zero of=hdc-0.11.new.img bs=512 count=524160 读入了524160+0 个块

输出了524160+0 个块【524160=520*16*63即扇区数,柱面数520,磁头数16,每磁道扇区数63,上面的bs表示每扇区的字节数,所以我们建立的磁盘容量为:512*524160=268369920 bytes,近似为268MB】

[root@localhost mkhdcimage]#

【[root@localhost mkhdcimage]# dd --help

用法:dd [选项]...

复制文件,并根据以下的选项将数据转换和格式化。

bs=字节强迫ibs=<字节> 及obs=<字节>

cbs=字节每次转换指定的<字节>

conv=关键字根据以逗号分隔的关键字表示的方式来转换文件

count=块数目只复制指定<块数目>的输入数据

ibs=字节每次读取指定的<字节>

if=文件读取<文件>内容而非标准输入的数据

obs=字节每次写入指定的<字节>

of=文件将数据写入<文件>而不在标准输出显示

seek=块数目先略过以obs 为单位的指定<块数目>的输出数据

skip=块数目先略过以ibs 为单位的指定<块数目>的输入数据

--help 显示此帮助信息并离开

--version 显示版本信息并离开

<块数目>和<字节>可以加上以下的单位:

xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576,

GB=1000000000,G=1073741824,还有T、P、E、Z、Y 如此类推。】

2、在redhat linux中将上面创建的hdc-0.11.new.img进行格式化处理,主要是在上面建立一个分区,步骤如下:

[root@localhost root]# cd /home/mkhdcimage

[root@localhost mkhdcimage]# losetup /dev/loop1 hdc-0.11.new.img【使用losetup命令将映像

文件与loop1设备关联,以便对映像文件进行操作】

[root@localhost mkhdcimage]# fdisk /dev/loop1【对映像文件进行操作】

Command (m for help): m

Command action

a toggle a bootable flag

b edit bsd disklabel

c toggle the dos compatibility flag

d delet

e a partition【删除一个分区】

l list known partition types【列出已知的分区类型】

m print this menu

n add a new partition【增加一个新的分区】

o create a new empty DOS partition table

p print the partition table【打印分区表】

q quit without saving changes【不保存退出】

s create a new empty Sun disklabel

t change a partition's system id【改变分区系统的id】

u change display/entry units

v verify the partition table

w write table to disk and exit【将表写到硬盘上并退出】

x extra functionality (experts only)【额外功能】

Command (m for help): n【增加一个新的分区】

Command action

e extended

p primary partition (1-4)

p【选p是为了建立原始的分区】

Partition number (1-4): 1

First cylinder (1-32, default 1): 1

Last cylinder or +size or +sizeM or +sizeK (1-32, default 32): +63M【分区大小】

Command (m for help): t【改变分区系统的id】

Selected partition 1

Hex code (type L to list codes): l

0 Empty 1c Hidden Win95 FA 70 DiskSecure Mult bb Boot Wizard hid

1 FAT1

2 1e Hidden Win95 FA 75 PC/IX be Solaris boot

2 XENIX root 24 NEC DOS 80 Old Minix c1 DRDOS/sec (FAT-

3 XENIX usr 39 Plan 9 81 Minix / old Lin c

4 DRDOS/sec (FAT-

4 FAT16 <32M 3c PartitionMagic 82 Linux swap c6 DRDOS/sec (FAT-

5 Extended 40 Venix 8028

6 83 Linux c

7 Syrinx

6 FAT16 41 PPC PReP Boot 84 OS/2 hidden C: da Non-FS data

7 HPFS/NTFS 42 SFS 85 Linux extended db CP/M / CTOS / .

8 AIX 4d QNX4.x 86 NTFS volume set de Dell Utility

9 AIX bootable 4e QNX4.x 2nd part 87 NTFS volume set df BootIt

相关文档
最新文档