zoukankan      html  css  js  c++  java
  • Linux下dd和od命令备份查看硬盘mbr,并用vim修改!

    主引导记录(Master Boot Record,MBR),位于一个硬盘的0柱面、0盘面、1扇区,共512字节。具体划分依次为:引导代码区440字节、磁盘签名4字节、空白(Ox0000)2字节、MBR分区表(Disk Partition Table,DPT)64字节、结束标志(Ox55AA)2字节。其中的MBR分区表(DPT)区别于另一种“全局唯一标识分区表(GUID Partition Table,GPT)”。本文今天仅讨论MBR及DPT。

    废话不多说了,下面先介绍如何备份、恢复MBR及DPT:

    备份与恢复MBR、分区表DPT:

    以下命令均以sda号硬盘举例。

    备份/恢复硬盘MBR(全部512字节):

    #备份#  dd if=/dev/sda of=./mbr.bak bs=512 count=1
    #恢复#  dd if=./mbr.bak of=/dev/sda bs=512 count=1

    仅备份/恢复硬盘的分区表DPT(后66字节):

    #备份#  dd if=/dev/sda of=./dpt.bak bs=1 skip=446 count=66
    #恢复#  dd if=./dpt.bak of=/dev/sda bs=1 seek=446 count=66

    仅恢复硬盘MBR的引导代码部分(前446字节):

    #恢复#  dd if=./mbr.bak of=/dev/sda bs=446 count=1

    用od查看

    od -Ax -x ./mbr.bak

    linux命令od
      功能说明:输出文件内容。

      语  法:od [-abcdfhilovx][-A <字码基数>][-j <字符数目>][-N <字符数目>][-s <字符串字符数>][-t <输出格式>][-w <每列字符数>][--help][--version][文件...]

      补充说明:od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来。

      参  数

      -a  此参数的效果和同时指定"-ta"参数相同。

      -A<字码基数>  选择要以何种基数计算字码。

      -b  此参数的效果和同时指定"-toC"参数相同。

      -c  此参数的效果和同时指定"-tC"参数相同。

      -d  此参数的效果和同时指定"-tu2"参数相同。

      -f  此参数的效果和同时指定"-tfF"参数相同。

      -h  此参数的效果和同时指定"-tx2"参数相同。

      -i  此参数的效果和同时指定"-td2"参数相同。

      -j<字符数目>或--skip-bytes=<字符数目>  略过设置的字符数目。

      -l  此参数的效果和同时指定"-td4"参数相同。

      -N<字符数目>或--read-bytes=<字符数目>  到设置的字符数目为止。

      -o  此参数的效果和同时指定"-to2"参数相同。

      -s<字符串字符数>或--strings=<字符串字符数>  只显示符合指定的字符数目的字符串。

      -t<输出格式>或--format=<输出格式>  设置输出格式。

      -v或--output-duplicates  输出时不省略重复的数据。

      -w<每列字符数>或--width=<每列字符数>  设置每列的最大字符数。

      -x  此参数的效果和同时指定"-h"参数相同。

      --help  在线帮助。

      --version  显示版本信息。

    转自linux系统运维
    http://www.linuxyw.com/a/wenjianguanli/20130505/191.html

    首先以二进制的方式打开它:
    vim mbr.bak -b
    再在vim 命令模式下输入:
    :%!xxd            #参数%指当前所编辑的文件 
    此时MBR文件会以十六进制显示,现在就可以编辑它了。

    编辑完了以后,我们需要还原为二进制文件:
    :%!xxd -r                                    #参数-r是指将当前的十六进制转换为二进制

    保存退出:

  • 相关阅读:
    Java1.0-1.11各个版本的新特性
    Java在ServletContextListener、过滤器、拦截器解决对象无法注入问题
    实验七 Web应用测试
    第四次作业
    实验5
    实验4
    实验3
    把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;
    1. java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer;报错问题
    在eclipse中新建maven项目 js,css路径失效问题
  • 原文地址:https://www.cnblogs.com/acgpiano/p/4192246.html
Copyright © 2011-2022 走看看