Как взять резервную копию моей основной загрузочной записи (MBR) и таблицы разделов (PT)?

Я хотел бы знать, как:

взять резервную копию сделать восстановление

всех MBR и всех СТ всех моих дисков в файл, чтобы я мог легко резервируйте их, используя rsync или сопоставимую программу.

2
задан 30 September 2017 в 00:52

4 ответа

Это довольно просто:

создать каталог /sysbackup:
mkdir /sysbackup
скопировать следующий сценарий в редактор:
#!/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;
сохранить его в /usr/local/bin (например, как mbr-pt-bck) chmod +x /usr/local/bin/mbr-pt-bck выполнить его с помощью sudo mbr-pt-bck Убедитесь, что /sysbackup/ включен в вашу команду rsync (или сопоставимую).

В качестве альтернативы,

поместите вышеуказанный скрипт в /etc/rc.local или эквивалентную systemd и автоматически выполните его при каждой загрузке. включите его в сценарий предварительной резервной копии
4
ответ дан 22 May 2018 в 18:16
  • 1
    Самые быстрые диски не используют /dev/sdX, а /dev/nvme.... Еще +1 в 10 раз больше комментариев, чем пять строк кода: D – WinEunuuchs2Unix 15 November 2017 в 16:35
  • 2
    md является псевдонимом для mkdir, а? – wjandrea 20 December 2017 в 06:33
  • 3
    упс! Благодаря! @wjandrea – Fabby 21 December 2017 в 01:08

Для восстановления любого из вышеизложенного также довольно легко:

MBR:

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

PT:

Сначала к cat /sysbackup/PartBackup-szHostName-dev-sda.txt

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

Затем просто выполните a:

parted /dev/sda rescue

, и вы получите приглашение на разрозненное спасение, в котором вы заполните данные из приведенного выше 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
4
ответ дан 18 July 2018 в 06:30

Для восстановления любого из вышеизложенного также довольно легко:

MBR:

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

PT:

Сначала к cat /sysbackup/PartBackup-szHostName-dev-sda.txt

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

Затем просто выполните a:

parted /dev/sda rescue 

, и вы получите приглашение на разрозненное спасение, в котором вы заполните данные из приведенного выше cat

[ f4]
0
ответ дан 22 May 2018 в 18:16

Для восстановления любого из вышеизложенного также довольно легко:

MBR:

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

PT:

Сначала к cat /sysbackup/PartBackup-szHostName-dev-sda.txt

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

Затем просто выполните a:

parted /dev/sda rescue

, и вы получите приглашение на разрозненное спасение, в котором вы заполните данные из приведенного выше 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
ответ дан 24 July 2018 в 18:37
  • 1
    Самые быстрые диски не используют /dev/sdX, а /dev/nvme.... Еще +1 в 10 раз больше комментариев, чем пять строк кода: D – WinEunuuchs2Unix 15 November 2017 в 16:35
  • 2
    md является псевдонимом для mkdir, а? – wjandrea 20 December 2017 в 06:33
  • 3
    упс! Благодаря! @wjandrea – Fabby 21 December 2017 в 01:08

Другие вопросы по тегам:

Похожие вопросы: