štvrtok, apríla 27, 2006

Profesionálna záloha Windows na NTFS II

Toto je voľné pokračovanie môjho článku - Profesionálna záloha Windows na NTFS, v ktorom bol ako nástroj na zálohu použitý BartPE. Dnes predstavím zálohu riešenú v Linuxe, konkrétne v mojom prípade v OpenSUSE 10. Ak používate "dual boot" bude toto riešenie oveľa pohodlnejšie. Napríklad počas zálohy resp. obnovy môžete plnohodnotne používať váš počítač (počúvať hudbu, surfovať na nete, proste všetko čo vám vaše distro dovolí). Samozrejme, ak nepreferujete "dualboot", môžete kľudne použit nejakú "live" distribúciu, ktorá obsahuje balík ntfstools.


Kedže toto riešenie nie je z mojej hlavy, ale je kópiou článku Cloning XP with Linux and ntfsclone. Ak rozumiete anglicky kliknite si rovno na zdroj.



Upozorňujem, že je dôležité aby ste v príkazoch všetky cesty ako sú /windows/D alebo /dev/hdax nahradili tými, ktoré sú prítomné vo vašom systéme!


Záloha Master Boot Record


Na začiatok musíme zistiť pod akým názvom vystupuje disk, ktorý chceme zálovať (ako aj názvy partícií). Spustíme konzolu, v ktorej budeme celý čas pracovať. Na všetky operácie budeme potrebovať "root" práva. Teda prvý bude príkaz su - skratka od superuser.



$ su -

Na zistenie štruktúry partícií slúži príkaz fdisk -l.



# fdisk -l

V mojom prípade mi fdisk vyhodil toto:



Disk /dev/hda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 653 5245191 7 HPFS/NTFS
/dev/hda2 654 7296 53359897+ f W95 Ext'd (LBA)
/dev/hda5 654 1306 5245191 83 Linux
/dev/hda6 1307 1372 530113+ 82 Linux swap / Solaris
/dev/hda7 1373 7296 47584498+ c W95 FAT32 (LBA)

Ako vidno disk pod Linuxom vystupuje ako hda a NTFS partícia ktorú chcem zálohovať ako /dev/hda1.

Záloha partition table a MBR


Na začiatok treba zvoliť miesto kde budeme zálohu ukladať. V mojom prípade, OpenSUSE automaticky vytvorilo zväzok /windows/D, čo nie je nič iné, ako pripojená FAT32 partícia (bežne sa ale stretnete skôr s /mnt/D a pod.). Na vypísanie informácií o pripojených particiách resp. súborových systémoch stačí v konzole zadať:



# mount

Mount a vyhodí nasledovný výpis, z ktorého je dôležité miesto pripojenia /dev/hda7 - a to /windows/D. Ak sa pozrieme vyššie na výpis z fdisk - l zistíme, že partícia /dev/hda7 je typu FAT32.



/dev/hda5 on / type reiserfs (rw,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/hda7 on /windows/D type vfat (rw,noexec,nosuid,nodev,uid=1000,gid=100,umask=0002,utf8=true)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/hda1 on /windows/C type ntfs (ro,noexec,nosuid,nodev,gid=100,umask=0002,nls=utf8)

Ak už vieme kam budeme "partition table" zálohať, samotná záloha sa spustí príkazom:



# sfdisk -d /dev/hda >/windows/D/part-table-hda.dump

Podobne pre zálohu MBR:



# dd if=/dev/hda bs=512 count=1 of=/windows/D/master-hda.mbr

Záloha NTFS


Ak chceme čo najmenší súbor - image, odporúčam pred samotnou zálohou priamo vo Windows vypnúť swap a hibernáciu. K zálohe potrebujeme balík ntfstools, ktorý OpenSUSE štandartne obsahuje. Takisto odporúčam odpojiť disk ktorý budeme zálohovať, príkazom:



# umount /windows/C

Samotnú zálohu vykonáme príkazom:



# ntfsclone -s -o - /dev/hda1 | gzip | split -b 4096m - /windows/D/zaloha-windows.img.gz_

Ako vidno záloha sa skomprimuje a automaticky rozdelí na súbory o veľkosti 4GB (FAT32 limit je 4GB).

Obnova NTFS partície


Odporúčam opäť skontrolovať štruktúru partícií (mohli ste medzi časom rozdeliť disk a zabudnúť na to). Takže opäť príkaz fdisk -l, alebo aspoň cat /proc/partitions.



$ cat /proc/partitions
$ su -
# umount /windows/C

Podľa počtu súborov s image (zaloha-windows.img.gz_aa, zaloha-windows.img.gz_ab ...) doplnte tieto do nasledovného príkazu cat.



# cat /windows/D/zaloha-windows.img.gz_aa /windows/D/zaloha-windows.img.gz_ab | gunzip -c | ntfsclone --restore-image --overwrite /dev/hda1 -


2 komentáre:

  1. Ahoj, pekny clanok a hlavne prakticky.
    Nerozumien ale par veciam. Aky je rozdiel medzi zalohou partition table a zalohou ntfs particie?
    Pre partition table je to: sfdisk -d /dev/hda >/windows/D/part-table-hda.dump
    Pre NTFS je to: ntfsclone -s -o - /dev/hda1 | gzip | split -b 4096m - /wi

    Preco nestaci zalohovat iba NTFS? A ked uz, tak ako potom obnovim zalohovanu partition table a ako obnovim zalohovanu MBR? Zeby pre MBR:dd if=/windows/D/master-hda.mbr bs=512 count=1 of=/dev/hda ?

    OdpovedaťOdstrániť
  2. [1] Partitition Table je tabuľka v ktorej sú informácie o všetkých partíciách, ako sú počiatočný sektor, veľkosť ... Odporúčam urobiť jej zálohu potom si súbor part-table.dump otvoriť v textovom editore. Hneď to bude jasné. Jej záloha v súčastnosti stráca zmysel, ale v minulosti existovali programy, ktoré prepísali túto tabuľku a tak došlo k poškodeniu dát. Preto nie je naškodu urobiť jej zálohu. Samozrejme ak len chceš obnoviť resp. zálohovať dáta (na NTFS partícií) nepotrebuješ obnovovať partition table, alebo MBR. Stačí ti použiť ntfsclone.

    Partition Table obnovíš:
    # sfdisk /dev/hda < /windows/D/part-table-hda.dump

    MBR obnovíš:
    # dd if=/windows/D/master-hda.mbr of=/dev/hda

    MBR slúži ako hlavný zavádzač systému a zaberá prvých 512bitov na disku.
    Parametre bs ani count pri obnove nie sú nutné, kedže súbor master-hda.mbr už obsahuje presne prvých 512 bitov.

    OdpovedaťOdstrániť