0

linux备份分区表,及dd命令

Posted in Linux at 十月 12th, 2010 / No Comments »
今天重做了系统,原因分区表用fdisk 查看分区表有错误,我不想再重做了,所以备份一下分区表,以后出错了,直接恢复就行了。
现在的分区如下:
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2612    20980858+   7  HPFS/NTFS
/dev/sda2            2613       19458   135309127+   5  Extended
/dev/sda5            2613        6529    31463271    7  HPFS/NTFS
/dev/sda6            6530        9141    20980858+  83  Linux
/dev/sda7            9142       11753    20980858+  83  Linux
/dev/sda8           11754       19048    58593280   83  Linux
/dev/sda9           19048       19458     3289088   82  Linux swap / Solaris
备份方法:
1、备份分区表信息
sudo fdisk -l >hda.txt  #分区表信息重定向输出到文件中
2、备份MBR
linux@linux-desktop:~/ex$ sudo dd if=/dev/sda of=mbr bs=512 count=1  #输入文件/dev/sda, 输出文件mbr(自己定义),输入(出)块大小512字节,复制一次,由于mbr是512个字节,所以读取写到mbr文件中了
1+0 records in
1+0 records out
512 bytes (512 B) copied,4.0728e-05 秒,12.6 MB/秒
linux@linux-desktop:~/ex$ ls  #查看备份成功
hda.txt  mbr
主引导记录512字节,前446是程序代码,后64字节包含分区表信息,最后2字节标识是MBR
3、恢复分区表
dd if=mbr of=/dev/sda bs=1 skip=446 count=66  #输入文件mbr,输出 /dev/sda ,块大小1个字节,输入跳过446字节,恢复66个字节,看来恢复的只有66个字节
如果逻辑分区都没有了,则用fdisk 照着hda.txt的信息重分一下就行了。
顺便说一下dd命令的用法
以下来自网络,我没有测试
dd是linux下的一个非常有用的命令,作用是用指定大小的块复制一个文件,并在复制的同时进行指定的转换。
if=输入文件(input file),  如: if=/dev/sda,缺省为标准输入
of=输出文件(output file), 如: of=mbr, 缺省为标准输出
ibs=Bytes,一次读入Bytes个字节,即一个块大小为Bytes个字节
obs=Bytes, 一次写Bytes个字节,即一个块大小为Bytes个字节
bs=Bytes ,同时设置读写块的大小为Bytes字节,可代替ibs,obs
cbs=Bytes,一次转换Bytes个字节,即转换缓冲区大小
skip=blocks, 从输入文件开头跳过blocks个块后再开始复制
seek=blocks,从输出文件开头路过blocks个块后再开始复制(通常只有当输出文件是磁盘或磁带时才有效)
count=blocks, 仅复制blocks个块,块大小是ibs指定的字节数
conv=conversion[,conversion...]
用指定的参数转换文件。
转换参数:
ascii 转换 EBCDIC 为 ASCII。
ebcdic 转换 ASCII 为 EBCDIC。
ibm 转换 ASCII 为 alternate EBCDIC.
block 把每一行转换为长度为 cbs 的记录,不足部分用空格填充。
unblock 使每一行的长度都为 cbs ,不足部分用空格填充。
lcase 把大写字符转换为小写字符。
ucase 把小写字符转换为大写字符。
swab 交换输入的每对字节。
noerror 出错时不停止。
notrunc 不截短输出文件。
sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
http://zhumeng8337797.blog.163.com/blog/static/10076891420106288565372/
Published in Linux
Tags:

No Responses to “linux备份分区表,及dd命令”

Leave a Reply

请输入算式结果(看不清请点击图片)
(必须)