天天看點

u盤安裝livekali作業系統,備份本機linux系統

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<code>選擇從u盤啟動系統</code>

<code>#vgdisplay 檢視原盤vgname</code>

<code>#vgchange -ay vgname 激活原盤vg</code>

<code>#lsbk</code>

<code>NAME                           MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT</code>

<code>sr0                             11:0    1  1024M  0 rom</code>

<code>sda                              8:0    0    10G  0 disk</code>

<code>├─sda1                           8:1    0   500M  0 part /boot</code>

<code>└─sda2                           8:2    0   9.5G  0 part</code>

<code>  </code><code>├─VolGroup-lv_root (dm-0)    253:0    0   8.5G  0 lvm  /</code>

<code>  </code><code>└─VolGroup-lv_swap (dm-1)    253:1    0     1G  0 lvm  [SWAP]</code>

<code>sdb                              8:16   0     8G  0 disk</code>

<code>├─sdb1                           8:17   0   102M  0 part</code>

<code>└─sdb2                           8:18   0   7.9G  0 part</code>

<code>  </code><code>├─VolGroup00-LogVol00 (dm-2) 253:2    0   5.9G  0 lvm</code>

<code>  </code><code>└─VolGroup00-LogVol01 (dm-3) 253:3    0     2G  0 lvm</code>

<code> </code><code>其中sdb1是原系統的boot分區,VolGroup00-LogVol00是原系統的/分區</code>

<code>可以采用cpio或者tar備份,本文采用tar(實驗中,cpio報錯歸檔不完整)</code>

<code>挂載原盤</code>

<code>#cd /home &amp;&amp; mkdir aa bb</code>

<code>#mount /dev/sdb1 /home/aa  挂載/boot分區</code>

<code>#mount /dev/VolGroup00/LogVol00 /home/bb  挂載/分區</code>

<code>#tar -cvzf /home/boot.tgz -C /home/ aa --exclude=dirname 打包boot分區(不打包dirname的資料)</code>

<code>#tar -cvzf /home/root.tgz -C /home/ bb --exclude=dirname 打包/分區</code>

<code>#umount /home/aa</code>

<code>#umount /home/bb</code>

<code>若目标檔案大于2G以上,請考慮分割壓縮,如下:</code>

<code>#tar -cvzf - /  --exclude=/home --exclude=/proc --exclude=/lost+found  --exclude=/tmp  --exclude=/mnt --exclude=/sys |split -b 2000m - /home/root.tgz 将/目錄壓縮成2G一個的檔案并排除某些目錄</code>

<code>#tar -cvzf - /boot  |split -b 2000m - /home/boot.tgz  壓縮boot分區</code>

二、目的磁盤建立lv

<code>#fdisk /dev/sdb 将目的磁盤分成兩個區,其中第一個區(boot分區)500M,其他容量分給第二個分區(root分區+swap),輸入t指定第二個分區格式為8e</code>

<code>#pvcreate /dev/sdb2</code>

<code>#vgcreate VolGroup00 /dev/sdb2 将pv為sdb2的建立成一個vg(VolGroup00)</code>

<code>ps:注意此處的vgname必須和原系統的vgname嚴格一緻,否則啟動會報錯!!!!</code>

<code>#vgchange -ay VolGroup00</code>

<code>#lvcreate -L +5.9G -n LogVol00 VolGroup00</code>

<code>#lvcreate -L +1G -n LogVol01 VolGroup00</code>

<code>#mkfs.ext4 /dev/sdb1</code>

<code>#mkfs.ext4 /dev/VolGroup00/LogVol00 将目的盤的 root分區格式化成ext3</code>

<code>#mkswap /dev/VolGroup00/LogVol01 格式化目的磁盤的swap分區</code>

<code>PS:請注意,目标磁盤的vgname和lvname必須和原盤的嚴格一緻,否則啟動會報錯</code>

三、恢複資料到目的盤

<code>#cd /home</code>

<code>#mount /dev/sdb1 aa</code>

<code>#mount /dev/VolGroup00/LogVol00 bb</code>

<code>#tar -xvzf boot.tgz</code>

<code>#tar -xvzf root.tgz</code>

<code>若采用的分割壓縮,則解壓指令如下:</code>

<code>#cd /home/aa &amp;&amp; cat boot.tgza*|tar -zxv</code>

<code>#cd /home/bb &amp;&amp; cat root.tgza*|tar -zxv</code>

<code>解壓完成後,請手動建立上面排除的目錄,并確定目錄結構和原系統一緻</code>

四、寫引導和挂載

<code>#grub-install --root-directory=/home/aa --no-floppy /dev/sdb</code>

<code>#cd /home/aa/boot</code>

<code>#rm -rf grub &amp;&amp; ln -s ../grub grub</code>

<code>改挂載檔案</code>

<code>#vi /home/bb/etc/fstab</code>

<code>...</code>

<code>/dev/sda1             /boot                   ext3    defaults        1 2</code>

<code>rh系列的系統,啟動挂載在/etc/fstab檔案</code>

五、測試

<code>重新開機測試是否報錯,若啟動報“permit denied”相關的錯誤,檢查selinux是否已經關閉</code>

繼續閱讀