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

楼主 |
发表于 2021-3-12 20:59:54
|
显示全部楼层
ISO 文件:0 H5 R5 u8 h | t! ^5 K* }
0 ?- |5 {9 f, G! d0 h5 g1 s: |
因为文件系统的关系,就不能用 dd 来直接做 ISO 镜像了(当然,它还是可以从设备制作 ISO 镜像)。 ISO 文件的制作有专用工具,
& B i# H# @6 d! \) d
( Q8 Z& ~' c5 ? 1,制作
$ b( Q7 A$ G% d c* K( z; b6 j
7 @# }% ~1 z: a$ ?9 l8 K mkisofs -r -o cdimage.iso /home/XXX/cddir1 u! [9 S5 Y$ l4 E
9 \; ?6 B- T1 |. N5 P( ]
2,格式化
; S# H1 P2 _3 d8 i3 S3 w) Q, c& o. c2 s' Q1 Q3 n8 |* A8 o
用mkiso制作的 iso 已有文件系统 iso96608 ` U- Y" L4 x: I* g
3 }/ _) @. Y" q+ p4 O8 Z/ J3 i5 w. q
3,可启动
1 J7 W3 j* b0 k
, r" x! H ]$ r% ?5 a 无论是引导单系统还是引导多系统都还是用 mkisofs 这个工具,只是加载到光盘的 boot loader 不一样而已。当然也可以将 DOS 的引导器 (也就是它的引导扇区) 或 windows 的引导器 ( XP 系统的是 ntldr ) 放入让光盘引导。下面只讨论 grub4dos 的使用3 @$ w8 i9 W$ y" {& a/ }: G
; `( H" L0 }" f% c8 S, S5 |' O, D" n
1),用 grub.exe 引导多系统
4 c q, F H; s. e7 i I( H9 X
+ K2 A2 S* c) d 用 DOS 加载 grub.exe 引导多系统6 I0 U8 E% S+ \
6 X% Z' e6 ] _" N1 N, K5 z- c
2),将 grub 安装到光盘 MBR
6 u2 R1 i/ m. o" h K C
4 P! s) s3 N. M( R+ ]' A 在制作时可用下面的命令直接生成可启动镜像,其中 grldr, menu.lst 要放在 cddir 目录下,也就是在 cd 根目录。/ j4 W2 Q2 u3 b# `, h1 ]
+ b9 s* _% @( w9 W/ j+ U: s mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o cdimage.iso cddir
; {, _% c ^" I y% c, e2 X8 }* U8 W* H2 h# l4 ]/ u1 N
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o cdimage.iso cddir
/ H! l7 T& i" R& Z" t) y, ?9 t, {( g' e) g/ Z* Q, E: c
PS,下面给出 dd 命令和 mkisofs 参数说明+ b. D. U7 {, u$ J$ C3 ]1 {9 X9 P
$ b+ j% R |2 |. Q! F0 Z
dd (convert and copy files)
2 j, K% A/ o- h* y) |* z
7 q9 t; l5 R% s' z, c! P dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。3 Z+ t1 I/ Q! e5 V: ~
$ r! p3 N/ y+ e2 q
dd 的主要选项:+ F6 c4 H0 q" H" K
6 P2 f4 _# q0 O3 k
指定数字的地方若以下列字符结尾乘以相应的数字:
Q3 e; P- q5 I
( P$ M- a8 R1 N. b b=512, c=1, k=1024, w=2, xm=number m3 H" K2 ]3 H7 o: m
; m8 B1 L& k3 K. j# s
if=file
- W+ T' L9 B' @4 Y* s
" t0 z% u1 c+ r6 O* e( F6 \" U9 I 输入文件名,缺省为标准输入。
, E9 f( P. m' [5 i, ~% J
# H# y5 f* V2 H* G# ]! K6 Y4 b of=file6 F# m8 h1 ?' G3 L0 d
9 P: N1 P3 k, }5 z9 G1 M4 `
输出文件名,缺省为标准输出。, O! i. d6 @9 c" A- B1 i& M
/ b- r9 W2 D1 Y" c
ibs=bytes
* L" R( N3 Z4 y& R8 T4 _
% P# `5 X2 ]9 u5 ~) e 一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。' @8 ^" ]& m3 r, ~" ?* a
$ {, r1 h% `5 j m! T6 r obs=bytes
* S& R5 L* z: x" c
3 C. {6 s6 l( w3 H 一次写 bytes 个字节(即一个块大小为 bytes 个字节)。
1 e) G9 P( i. G. w% R" @' D3 c7 i& K
bs=bytes
' q0 Q$ H" Z Y! P: Q5 A! F$ y# @& J8 }- q2 y `1 F
同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。
1 G7 {3 c6 a: o1 j/ |0 M/ ~, k7 [/ z- l
cbs=bytes
^# D; n( a# \) j$ R6 b) w' X
# L' v: X2 d( v7 F9 P, t) t1 {) T 一次转换 bytes 个字节,即转换缓冲区大小。% J' |- d5 A: S# |0 E* M
Z+ O3 u, }$ |; Q5 ^) N" d: L skip=blocks1 y: {4 E/ p; z3 ?: _
! L8 @. y3 B8 y
从输入文件开头跳过 blocks 个块后再开始复制。 |
|