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

楼主 |
发表于 2021-3-12 20:59:54
|
显示全部楼层
ISO 文件:- C% z& R) G$ g- f! p+ L/ _
, \5 D5 I: H0 H$ ?& ?! `4 V
因为文件系统的关系,就不能用 dd 来直接做 ISO 镜像了(当然,它还是可以从设备制作 ISO 镜像)。 ISO 文件的制作有专用工具,
- x3 q. Y- {5 u6 g+ M9 e! b3 K1 ^( `) P8 q# W% e1 z8 B
1,制作
# {5 j/ l6 S0 {3 X+ r: ^! e+ r( I$ S/ F
mkisofs -r -o cdimage.iso /home/XXX/cddir
9 D2 h! D/ i0 q0 E% u
: ^6 Q5 o* S9 N 2,格式化
! o4 t: |; i7 b
" E( A7 v1 p2 V2 }4 P( p8 j: e 用mkiso制作的 iso 已有文件系统 iso9660- b1 ] ]$ u' L
. `3 ^( S3 ]3 M L3 o! g0 E- k
3,可启动
+ U3 e8 F# s: |& K# H0 K9 y. ^1 M& _3 S) ]
无论是引导单系统还是引导多系统都还是用 mkisofs 这个工具,只是加载到光盘的 boot loader 不一样而已。当然也可以将 DOS 的引导器 (也就是它的引导扇区) 或 windows 的引导器 ( XP 系统的是 ntldr ) 放入让光盘引导。下面只讨论 grub4dos 的使用) |: w' b9 y0 u1 \ h7 L
2 v/ V0 T4 y8 O6 e& h 1),用 grub.exe 引导多系统' J( }! C, E$ n3 G( b3 q3 U1 h
: U. { T' ^+ L9 g! ]0 v
用 DOS 加载 grub.exe 引导多系统
6 P1 g+ \* N& e. _8 m& X* u
- x8 i g/ D6 _& I, Z; N; Q 2),将 grub 安装到光盘 MBR
/ d( X$ r S# E, k2 w! F8 f0 _0 z" [
4 I' I) H$ \4 A. b& i# k 在制作时可用下面的命令直接生成可启动镜像,其中 grldr, menu.lst 要放在 cddir 目录下,也就是在 cd 根目录。
" m9 z4 L! A; y4 u( p# u2 }% ^8 U7 \1 {! I6 V& w' A8 e( o" e
mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o cdimage.iso cddir, M9 v2 A) E, Q3 i/ }
( X( n, x+ a. T. F& S6 N7 @
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o cdimage.iso cddir+ Q" e) i5 D+ Q I; K5 A( }8 M
1 X* O8 j% c! i2 u; P; |; l
PS,下面给出 dd 命令和 mkisofs 参数说明2 M: E0 P$ T% h: }8 u
9 |+ u& f" m, f8 d
dd (convert and copy files)8 z8 X2 q+ }! x w
$ q; p9 F9 S& }" R- ~ dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。2 i1 P# J) S1 D% L/ A Y
) j# x% \' ^3 e2 e
dd 的主要选项:4 @/ z8 ]# J7 M: J
& M. ?4 }& q% ?6 a 指定数字的地方若以下列字符结尾乘以相应的数字:
' d; Q( ?! {( S& d8 g8 e) g% Z" G- P6 l
b=512, c=1, k=1024, w=2, xm=number m! l' z# u# q" |3 Z% a1 N* G7 s
1 B' q9 u# n7 F+ D$ x if=file; N0 S; @* S! x1 ~( P9 O* I: P
. d, G+ ]& I1 v7 D4 r
输入文件名,缺省为标准输入。- K" |4 L7 R4 T* {) E# C% E1 }
* Q) @7 @! |! N& t5 a2 z! P
of=file; t2 ?7 W7 q& \" R- W3 P6 P: c
" n3 D0 z! N: s* \. C$ E
输出文件名,缺省为标准输出。* T- J9 E8 n4 h; {
; k" p6 R/ \5 m ibs=bytes
" m. `# ^6 x! }# t0 a: N) k4 ^
# H; q0 h9 F; D6 j) M 一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。
( X* z: Z( Y) ]3 k' c* N
; n) e2 i8 @4 ]! D7 k obs=bytes
" a% O2 j3 c0 I4 s9 n: n) j) z$ a2 X# m( m
一次写 bytes 个字节(即一个块大小为 bytes 个字节)。
/ w' K7 H/ h0 V7 @; l9 `! P% x4 c; F) T6 {; I
bs=bytes( d" z2 H! p7 ~# h: d, b8 \- k
. y" Y* O3 Z' T 同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。
! H* i. j8 b* p) x! T
( @2 n6 \0 Q, O$ q' a; D cbs=bytes. [7 V1 D9 ~" H6 F- _: f9 y
1 A6 h0 W4 _- u1 P o
一次转换 bytes 个字节,即转换缓冲区大小。" {$ O& D' s B! a( [1 n0 O7 g: S
# A5 G8 U! i8 U: Q skip=blocks7 L4 f& c2 `( E" T3 @* I
/ i5 B* V. U; d3 d* G. X8 m
从输入文件开头跳过 blocks 个块后再开始复制。 |
|