AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 957867
Accepted
Fabby
Fabby
Asked: 2017-09-21 12:36:42 +0800 CST2017-09-21 12:36:42 +0800 CST 2017-09-21 12:36:42 +0800 CST

如何备份我的主引导记录 (MBR) 和分区表 (PT)?

  • 772

我想知道如何:

  1. 备份
  2. 做一个恢复

rsync将我所有磁盘的所有 MBR 和所有 PT 保存到一个文件中,以便我可以使用或类似的程序轻松备份它们。

partitioning
  • 2 2 个回答
  • 2756 Views

2 个回答

  • Voted
  1. Best Answer
    Fabby
    2017-09-21T12:36:42+08:002017-09-21T12:36:42+08:00

    哈,这很简单:

    1. 创建一个目录/sysbackup:

      mkdir /sysbackup
      
    2. 在编辑器中复制以下脚本:

      #!/bin/bash
      #
      # This script saves the well-known (last good) partition table entries to a text file 
      # and the MBR to a binary file for all live disks on the system.
      #
      # Copyright (c) Fabby 2017
      #
      # This program is free software: you can redistribute it and/or modify it under 
      # the terms of the GNU General Public License as published by the Free Software 
      # Foundation, either version 3 of the License, or (at your option) any later 
      # version.
      #
      # This program is distributed in the hope that it will be useful, 
      # but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
      # or FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
      # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
      # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
      # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
      # THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
      # See the GNU General Public License for more details.
      #
      # You DID NOT receive a copy of the GNU General Public License along with 
      # this program as the license is bigger then this program.
      # Therefore, see http://www.gnu.org/licenses/ for more details.
      #
      # This script should be run at the /etc/rc.local or systemd equivalent point in time
      #
      for szDisk in /dev/?d?; 
      do
        sfdisk --dump "$szDisk" > /sysbackup/PartBackup-"$(hostname)-${szDisk//\//-}""$(date +"%F-%H%M%S%N")"".txt"
        dd if="$szDisk" of=/sysbackup/MBRBackup-"$(hostname)-${szDisk//\//-}""$(date +"%F-%H%M%S%N")"".bck" bs=512 count=1
      done;
      
    3. 将其保存在/usr/local/bin(例如mbr-pt-bck)

    4. chmod +x /usr/local/bin/mbr-pt-bck
    5. 使用执行它sudo mbr-pt-bck
    6. 确保/sysbackup/包含在您的rsync(或类似的)命令中。

    或者,

    • 将上述脚本放入/etc/rc.local或等效的 systemd 中,并在每次启动时自动执行它。
    • 将其包含在您的预备份脚本中
    • 4
  2. Fabby
    2017-09-30T13:50:27+08:002017-09-30T13:50:27+08:00

    恢复上述任何一项也很容易:

    MBR:

    dd if=/sysbackup/MBRBackup-szHostName-dev-sda.bck of=/dev/sda  bs=512 count=1
    

    太平洋时间:

    首先到一个cat /sysbackup/PartBackup-szHostName-dev-sda.txt

    Disk label type: msdos
    Minor    Start       End     Type      Filesystem  Flags
    1          0.031   8056.032  primary   ext3
    

    然后做一个:

    parted /dev/sda rescue 
    

    你会得到 parted 的救援提示,在这里你填写上面的数据cat

    Start? 0
    End? 8056
    Information: A ext3 primary partition was found at 0.031MB ->
    8056.030MB.  Do you want to add it to the partition table?
    Yes/No/Cancel? y
    
    • 0

相关问题

  • 是否有更好的方式为 /home/userX 构建分区/挂载

  • Linux 文件系统层次结构中的默认目录是什么意思?

  • 如何将 /usr 移动到新分区?

  • 如何从双启动计算机访问加密的主文件夹?

  • 您对台式机和家庭服务器的驱动器分区方案有什么建议?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve