Pitäisi kloonata yhdeksän windows-koneen partiot varmuuskopioiksi. Koneiden 500Gt levyillä on 150Gt partitio, joissa valmiiksi asennetut systeemit. Loput levyistä on ilman partitiota ja tarkoituksella jätetty tulevaisuuden asennuksia varten. Nuo asennetut systeemit vaativat joka koneelta omat asetuksensa eli pelkästään yhtä ei voi varmuuskopioksi. Ideanani on kloonata jokaisen koneen sda1 ja yhden koneen mbr. Onnistuukohan tuollainen? Mielestäni tarvittavat käskytykset
Partition kloonaukseen
dd if=/dev/sda1 | gzip -c | split -b 2000m - /mnt/jossainverkossa/backup.img.gz.
ja mbr
dd if=/dev/sda of=/mnt/jossainverkossa/backup-sda.mbr bs=512 count=1
ja palautukseen
mbr
dd if=backup-sda.mbr of=/dev/sda
ja partition palautukseen
cat /mnt/jossainverkoosa/backup.img.gz.* | gzip -dc | dd of=/dev/sda1
Koneet ovat raudaltaan identtisiä.
Oniistuukohan noilla jutuilla saamaan takaisin boottaavan windows-koneen?
Partition kloonaukseen
dd if=/dev/sda1 | gzip -c | split -b 2000m - /mnt/jossainverkossa/backup.img.gz.
ja mbr
dd if=/dev/sda of=/mnt/jossainverkossa/backup-sda.mbr bs=512 count=1
ja palautukseen
mbr
dd if=backup-sda.mbr of=/dev/sda
ja partition palautukseen
cat /mnt/jossainverkoosa/backup.img.gz.* | gzip -dc | dd of=/dev/sda1
Koneet ovat raudaltaan identtisiä.
Oniistuukohan noilla jutuilla saamaan takaisin boottaavan windows-koneen?
Vastaukset 7
Vanhimmat
Rsync -ohjelmalla myös winukan "kloonaus" onnistuu paljon nopeammin kuin dd:llä, ja kaiken lisäksi tyhjää tilaa ei tarvitse kopioida.
http://linux.fi/wiki/Rsync
MBR:ää ei tarvitse kopioida, sillä se voi rakentaa uudestaan vaikka ms-sys ohjelmalla.
http://www.youtube.com/watch?v=8XUGHbeg-Ng&feature=plcp
enpä ole noita vielä kokeillut. Homman nimenä on palautusten varmuus ja toimivuus. Kyseisellä systeemillä myydään kursseja ulkopuolisille osallistujille. Kurssin hinta on muutama sata/tuhat euroa riippuen kurssin laajuudesta. Nopeus ja toimivuus on siis tärkeä pointti.
Noin ihan huvin vuoksi on tullut testattua, ja toimii ihan hyvin.
http://www.youtube.com/watch?v=EmuHszaRj64&feature=plcp
Clonezilla on tuohon tarkoitukseen tehty.
http://clonezilla.org/
Tänks. Tollahan se meni suhteellisen kivuttomasti pienen alkuvoimistelun jälkeen. Palautuksessa kantsii tehdä palautuspartitio windowsin levyllä kun Clonezilla ei sitä itse osannut tehdä. Linux muuten aloittaa levyn partition sylinteristä 2048 ja Windows sylinteristä 63. Lisäksi piti laittaa kloonauksen jälkeen partitio aktiiviseksi.
Linuxista en tiedä, kun asiaa ei ole dokumentoitu mitenkään (paitsi jos on aikaa, viitseliäisyyttä ja kykyä ymmärtää C//C -lähdekoodia) niin lähdekoodia tutkimalla asia saattaa selvitä...
... mutta windowsin (ja MS-DOSin) osalta asia on seuraavalla tavalla:
Jokaisen ms-dos / windows -osion alussa on ns. VBR (volume boot sector, kooltaan yleensä 512 tavua ja joka tapauksessa vähintään 512 tavua, mutta tulevaisuudessa saatetaan siirtyä 4096 tavun kokoon myös loogisesti, fyysisesti on jo siirrytty uusissa ns. "Advanced format" -levyissä) , ja ko. VBR sisältää datalohkon nimeltä Bios Parameter Block (BPB). Tässä BPB:ssä on 4 tavun mittainen kokonaisluku (vähiten merkitsevä tavu ensin, kuten PC:ssä on tapana) nimelään "Hidden Sectors". Buuttaavalla levykkeellä tuo luku on aina nolla. Mutta kiintolevyllä sen on oltava niiden levysektorien lukumäärä,jotka edeltävät ko sektoria kiintolevyllä. Käytetään LBA -osoitusta (ikivanhat Cylinder / Head / Sector -arvot voisi jo siirtää tekniikanmuseoon ).
Esim:
jos 1. SATA -kiintolevyllä ensimmäinen osio ( linuxissa tunnetaan nimellä /dev/sda1 ) alkaa sektorista LBA 63 (MBR = LBA 0), niin tuota sektoria edeltävät sektorit 0-62, eli 63 kpl. Silloin ko. osion BPB:ssä tuossa "Hidden Sectors" -kohdassa on oltava luku 63.
Kaupalliset kloonausohjelmat osaavat tuon oikein, ja niin tietysti pitäisi avointen lähdekoodien ohjelmienkin osata. Jos teet kopion suoraan linuxin dd -komennolla, tällöin joudut palautuksen jälkeen käsin korjaamaan ko. arvon oikeaksi. Toki, jos palautetaan täsmälleen samassa kohdassa kiintolevyä olevaan osioon kuin mistä kloonattiin image -tiedostoksi, (siis osio alkaa samasta LBA -sektorinumerosta), silloin tuo on oikein jo suoraan dd:llä tehtynä, kaikissa muissa tapauksissa se on dd:n yhteydessä korjattava käsin.
Miksikö tuo on niin tärkeä?
Koska kun levyltä buutataan, ensin BIOS lataa muistiin MBR -sektorin ja suorittaa sen.
MBR -sektorin sisältämä ohjelma etsii aktiivisen osion osiotaulusta ja lataa muistiin ko. aktiivisen osion ensimmäisen sektorin (512 tavua) ja hyppää tuon datan (=konekielikoodin) alkuun.
Nyt siis muistissa on 512 tavun mittainen konekieliohjelma, jonka pitäisi yksin, ilman apua osata jatkaa buuttausta. Lisää voi toki ladata kiintolevyltä, KUNHAN tietää, mistä kohtaa kiintolevyö lataa! Ja tuo tieto on täysin tuon "Hidden Sectors" -kohdassa olevan 4-tavuisen kokonaisluvun varassa. Se on siis tuon VBR:n oma LBA -osoite, johon lisäämällä 1 saadaan seuraavan sektorin LBA -osoite.
EI-buuttaavilla osioilla tuo on yleensä 0, mutta buuttaavalla sen on oltava oikein tai muuten kone alkaa suorittaa satunnaista dataa ohjelmakoodina ja sekoaa.