|
|
楼主 |
发表于 2021-3-12 20:59:54
|
显示全部楼层
ISO 文件:
. G" A+ K! H p; ]' G+ Z3 u' Y8 b" [8 s7 p1 [
因为文件系统的关系,就不能用 dd 来直接做 ISO 镜像了(当然,它还是可以从设备制作 ISO 镜像)。 ISO 文件的制作有专用工具,/ Z( r9 |- ?& M
/ ?3 ^4 z7 m$ V9 E- e3 r9 k% f' @
1,制作
. ]" x5 ]$ P9 d4 E" c( F, Q( e: y" r( D. n: g) D
mkisofs -r -o cdimage.iso /home/XXX/cddir- P4 t) F5 s: M o3 {! A
* q; g3 ~! T! z! U3 I- c
2,格式化( c+ q) n+ Y1 u7 k: O
3 D; |. W8 D; c) o
用mkiso制作的 iso 已有文件系统 iso9660
3 q: K) O3 L' F, P! }9 g8 {8 P2 s
, N3 N7 ^$ x' f6 Q( k$ l 3,可启动) `; F( Y; q, p* I5 S! c5 h
. W- D0 U9 e0 s% j5 b5 k 无论是引导单系统还是引导多系统都还是用 mkisofs 这个工具,只是加载到光盘的 boot loader 不一样而已。当然也可以将 DOS 的引导器 (也就是它的引导扇区) 或 windows 的引导器 ( XP 系统的是 ntldr ) 放入让光盘引导。下面只讨论 grub4dos 的使用1 b0 r1 d9 I) b
! _6 q0 q; _) ?- ` 1),用 grub.exe 引导多系统) L/ Y$ U' P# D8 D1 y2 b# Q& V+ }
* o- d% ]6 x. m, P3 @
用 DOS 加载 grub.exe 引导多系统" X0 A. A) y& c" r5 ]+ Y1 j
) ^! ~0 k1 c7 E& Q 2),将 grub 安装到光盘 MBR. \7 C1 q( N# x+ D# ?+ `8 C
8 k8 Q: D- Q' G6 z: ~8 p1 I: P6 r$ x 在制作时可用下面的命令直接生成可启动镜像,其中 grldr, menu.lst 要放在 cddir 目录下,也就是在 cd 根目录。7 N* C/ x, Q2 e5 i$ V5 m5 \
" F: ^' t) E. a; O0 \9 I0 h
mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o cdimage.iso cddir4 P0 ]# z: [1 G9 w2 z2 e- L/ N" [
3 ]0 g9 H( L Q& F mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o cdimage.iso cddir
2 T! P7 L: ] T. c) B a) P& h# F" g) W; u4 y X4 k
PS,下面给出 dd 命令和 mkisofs 参数说明
( K; S. Z2 @! D' N8 L# M; c1 Q* N6 p8 i: |: b# o
dd (convert and copy files)- W6 M) K9 J+ z2 y) J
1 n* l+ o; s1 ~, y( D# j dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。2 L2 e" P8 E- }( P8 G
# D }: i( l" p5 D
dd 的主要选项:
4 p9 ]( u3 _! k) y. f$ }/ `3 [/ ` F: P' @* x6 I [7 R
指定数字的地方若以下列字符结尾乘以相应的数字: v, M% Y- y1 w! Q- L7 u
" F7 m: m8 z% C b=512, c=1, k=1024, w=2, xm=number m8 A* j$ K( C8 R8 x
7 E1 O; V7 l, N8 x/ j# y if=file0 L6 W* G3 U0 T$ p3 h" f
4 q7 P+ w- Y" ]2 @
输入文件名,缺省为标准输入。% l6 w; N S! F: b( l1 I, t: x& O# n
: k3 s4 F9 S$ A2 t. N of=file
! x5 |! V& J6 E2 [! c+ d: ^2 h* }- L8 g
输出文件名,缺省为标准输出。- O& v! B6 u# n0 b" j0 I+ Y! x
( i5 h- X: G4 c2 J
ibs=bytes
- i, E( R# {8 T$ X* Z" t
4 K+ N5 }4 w: K1 C: w3 a" A, o: X3 y 一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。0 k5 z% W, M& h
7 c* j1 Q+ P4 W% o
obs=bytes
* M/ x. h' P5 B: M( Z) u+ X/ o" l1 x6 ^2 |
一次写 bytes 个字节(即一个块大小为 bytes 个字节)。
/ U" N1 Y, S: K8 X5 Z7 O* n+ t0 b! f) ~% {9 @! Y
bs=bytes
5 ^4 M7 ]3 M. L/ W5 P
. H" R# z0 [- m2 O 同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。
1 J0 R3 j5 I; u. U4 g5 A! ]7 A* ?9 Q" }, k5 m; Q
cbs=bytes4 N6 P/ M/ _( z f
; A7 X6 K* A& v: } 一次转换 bytes 个字节,即转换缓冲区大小。# q; _, h0 f( z* ~ P5 W
7 G! K/ i! d# g) h1 S skip=blocks8 L- M8 A6 s! u; ]+ o7 ?4 m
4 T0 i& O: u4 T0 f$ S7 U1 v8 `
从输入文件开头跳过 blocks 个块后再开始复制。 |
|