- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|

楼主 |
发表于 2021-3-12 20:59:54
|
显示全部楼层
ISO 文件:
- [' n6 ^, M1 q
9 v" Q& ?. `( p c 因为文件系统的关系,就不能用 dd 来直接做 ISO 镜像了(当然,它还是可以从设备制作 ISO 镜像)。 ISO 文件的制作有专用工具,
^0 r4 E9 M: N9 N+ h8 p( j2 g9 A0 X# A* b9 ~+ E
1,制作. z6 h! G0 C. w- y! _
# e( {7 S. f' V' u$ O
mkisofs -r -o cdimage.iso /home/XXX/cddir
; @; `) @) M& m# D) B6 M7 d( M# O. k& @2 k- Z. v, Z9 g2 K
2,格式化
# E3 }- n0 G+ r1 Y% P8 s4 C* H; u' H _' f5 c/ o" g
用mkiso制作的 iso 已有文件系统 iso9660" g" V: U* ?3 @% Y' p- A: L
* K7 m0 S+ A4 z/ |
3,可启动
$ t; m# I: n- L6 y f, s: Z( s1 g; _+ ?, l ?
无论是引导单系统还是引导多系统都还是用 mkisofs 这个工具,只是加载到光盘的 boot loader 不一样而已。当然也可以将 DOS 的引导器 (也就是它的引导扇区) 或 windows 的引导器 ( XP 系统的是 ntldr ) 放入让光盘引导。下面只讨论 grub4dos 的使用) ^: V7 i( J& L8 y6 K
, g- n0 f4 {- T& ^9 B% L; N
1),用 grub.exe 引导多系统
4 n% `1 j: R- g& f0 B6 M
* L v( c3 x* b) H 用 DOS 加载 grub.exe 引导多系统" p" b: o9 f* W; {
4 p1 T p* q# s, X/ Y; f7 S( I6 W 2),将 grub 安装到光盘 MBR
) @- J# N, Y0 X3 G
6 d- S5 z, V4 y$ |: y+ b- v 在制作时可用下面的命令直接生成可启动镜像,其中 grldr, menu.lst 要放在 cddir 目录下,也就是在 cd 根目录。( n6 \0 `% d' O$ s
* a, I4 B( Z& q1 B( m
mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o cdimage.iso cddir% }- M J3 v. J7 L
( E7 S( W3 T" ^" S7 x9 N mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o cdimage.iso cddir
$ ]3 s/ }4 `9 J& ~" d1 R
. T2 @2 T1 B! e* y PS,下面给出 dd 命令和 mkisofs 参数说明$ U. `3 C0 t6 z3 |- V
9 w, f! ~3 s6 D1 o5 g dd (convert and copy files)' a4 X: f! X% _. ~& w5 Y$ e# O' M
& l% w w+ o- P# j dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。1 w$ x T0 D `0 g
/ X6 h" k0 @0 c9 O
dd 的主要选项:
- C5 P) c1 E4 e/ v$ e: L/ o# f! V0 \- d% L% o
指定数字的地方若以下列字符结尾乘以相应的数字:
; ?/ o, g* P( D5 a; ?
/ d, ~" A5 h$ F2 J: I' @ b=512, c=1, k=1024, w=2, xm=number m3 b) y/ F+ J7 |# X: i7 Y5 I
6 F4 j) {: _% J+ J if=file
3 C* U. Z3 c N* Q1 ~1 z! Z5 ]3 k/ p j+ v2 w7 T
输入文件名,缺省为标准输入。
- ], M. N c- Z' ?, Q( w9 o \$ B) v6 ~4 r
# T$ V5 `7 @8 S% b! Q of=file+ A, j7 o* w' z$ ^6 |
/ @$ L" k3 l3 ]1 a6 I. l0 S 输出文件名,缺省为标准输出。
8 X; |& L9 i# L7 ?$ {+ K* J) j2 O' N! D- D. [
ibs=bytes
' m) ^: i" f" Y% e w0 O/ o4 W1 R- D6 ^' k1 ^
一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。% l+ v% Z2 u( @, |% e8 r5 m) S
( n" D! `% I+ u) i4 ? obs=bytes
4 w) u0 K7 z/ ]! c% I
/ G' C1 \. u2 @ | 一次写 bytes 个字节(即一个块大小为 bytes 个字节)。
- j5 n! r6 [- C O0 W* \5 j0 V
3 f3 ~! \# s* D% H1 C$ _/ b bs=bytes# Q/ E" ?9 \) a& W
2 Q3 W" n5 m* M
同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。
9 c7 v. l d z' b# y2 Q/ y% [& b
cbs=bytes
! m/ B5 I* _: `; \% [* E! C7 Y
' j5 W( ]% ~4 G$ `9 |2 j8 K. U 一次转换 bytes 个字节,即转换缓冲区大小。
$ ], Q+ Q7 ]/ S) i& t _& Q2 Y- _) z1 m o) u3 w) ]8 o) L/ \
skip=blocks/ P- h8 k1 x( h+ n* y
/ i6 P: k4 z; d3 \" m) \
从输入文件开头跳过 blocks 个块后再开始复制。 |
|