pytanie o zrobienie ghosta z NT-kiem
Mam bardzo nietypowe pytanie : czy Knoppixem zrobię dokładny obraz dysku z NT 4.0 ?? jutro jestem daleko - wawa, no i niestety nie dysponuję GHOST'em a muszę zrobić dokładny obraz dysku z tego co wiem mc może być tu bardzo pomocne, ale jeszcze pozostaje kwestia tego że patrycja ntfs'owa co chyba nie jest już tak proste, bo nie nadpiszę na ntfs'ie zatem - czy knoppix oferuje takie narzędzia ?? a jak nie to czy jest coś innego?? dzięki za wszelkie sugestie pozdr. -- Piotr Pruszczak
Re: pytanie o zrobienie ghosta z NT-kiem
On Tue, 25 May 2004 16:49:32 +0200 Piotr Pruszczak <[EMAIL PROTECTED]> wrote: > Mam bardzo nietypowe pytanie : > > czy Knoppixem zrobię dokładny obraz dysku z NT 4.0 ?? > jutro jestem daleko - wawa, no i niestety nie dysponuję GHOST'em > a muszę zrobić dokładny obraz dysku [...] Zapewne dd sobie z tym poradzi. -- Piotrek Bińkowski | Mnie się widzi, że gdyby nie komercyjne firmy UnRegistered| żadnych niusów by nie było. Linux User | (z pamiętnika Bonika K.)
Re: pytanie o zrobienie ghosta z NT-kiem
On Tue, May 25, 2004 at 04:49:32PM +0200, Piotr Pruszczak wrote: > Mam bardzo nietypowe pytanie : > > czy Knoppixem zrobię dokładny obraz dysku z NT 4.0 ?? > jutro jestem daleko - wawa, no i niestety nie dysponuję GHOST'em > a muszę zrobić dokładny obraz dysku Niedawno probowalem zrobic cos takiego (chodzilo o to, zeby przy pomocy linuksa zrobic to, co potrafi ghost), tyle ze partycja byla Windows 98. Problem polega na tym, ze ghost nie czyta dysku tak jak "dd" (bajt po bajcie), ale bardziej jak dump (wykorzystujac informacje na temat struktury systemu plikow omija podczas czytania puste miejsca). Efekt: czytanie i pisanie przy pomocy dd zajmuje duzo wiecej czasu niz ghostowi. O ile w moim przypadku czytanie partycji (czyli tworzenie obrazu) moglo sobie trwac ile chcialo, to przywracanie obrazu na dysk musialo sie z pewnych wzgledow miescic ponizej 10 minut. O ile ghost radzil sobie z tym w okolicach 5 minut, to zwykle "dd" musialo na to poswiecic prawie pol godziny. Jest to oczywiscie zrozumiale, bo ghost nie zapisywal na dysk bezuzytecznych sektorow, a "dd" pisalo dokladnie wszystko. Wymyslilem wiec takie cos: 1) zapelniamy zerami partycje pod windows (dd if=/dev/zero of=/dev/partycja) 2) formatujemy ja 3) instalujemy na tym windows i potrzebne oprogramowanie 4) zczytujemy obraz przy pomocy dd if=/dev/partycja | gzip -c > obraz.bin.gz 5) zapisujemy obraz spowrotem na partycje przy pomocy gzip -dc obraz.bin.gz | programik /dev/partycja "programik" to mial byc maly programik otwierajacy urzadzenie /dev/parycja i kopiujacy na niego dane z stdin na podobnej zasadzie jak dd, ale z jednym wyjatkiem: jesli kopiowany sektor zawieralby tylko zera, to zamiast write() wykonywane byloby wywolanie lseek(). Dzieki temu bylyby zapisywane tylko uzyteczne sektory. Dodatkowe odraczanie lseek() tak dlugo jak to mozliwe pozwoliloby zmniejszyc ilosc syscalli. W razie koniecznosci zmodyfikowania obrazu wykonywane bylyby kroki: 5 a nastepnie 4. Dzieki temu zapelnianie pustych miejsc smieciami w trakcie normalnej ekslploatacji systemu nie mialoby znaczenia. Liczylem na spory zysk na wydajnosci w kroku "5" (bo tylko na nim mi zalezalo) dzieki znacznemu zmniejszeniu ilosci danych kopiowanych na dysk (zera przesylane bylyby tylko przez potok miedzy gzipem a programikiem, co powinno byc stosunkowo szybkie). W efekcie napisalem programik "holewrite" (zalacznik), ale jest z nim jeden problem: nie obsluguje duzych partycji (powyzej 2 GB z hakiem). Probowalem kompilowac go z roznymi dziwnymi flagami preprocesora majacymi wlaczyc 64-bitowe sycalle, ale jakos nic to nie dawalo, a ja nie mialem czasu zaglebic sie w temat. Jesli komus uda sie zmusic go do poprawnego dzialania na duzych partycjach, to bardzo prosze o instrukcje/latke. pozdrawiam, Marcin -- Marcin Owsiany <[EMAIL PROTECTED]> http://marcin.owsiany.pl/ GnuPG: 1024D/60F41216 FE67 DA2D 0ACA FC5E 3F75 D6F6 3A0D 8AA0 60F4 1216 #define _GNU_SOURCE 1 #define _LARGEFILE_SOURCE 1 #include #include #include #include #include #define BLKSIZE 512 int main(int argc, char **argv) { char *name; int fd; ssize_t n, i; off_t skip = (off_t) 0; char buf[BLKSIZE]; if (argc != 2) { fprintf(stderr, "Usage: holewrite \n"); exit(1); } else name = argv[1]; if ((fd = open(name, O_RDWR, 0600)) < 0) { perror("open()"); exit(1); } while ((n = read(0, buf, BLKSIZE)) >= (ssize_t) 0) { if (n == (ssize_t) 0) /* EOF */ exit(0); /* * check if we read anything different than zeros */ for (i = (ssize_t) 0; buf[i] == 0 && i < n; i++) ; if (i == n) { /* nope, only zeros */ /* * just remember to skip the block before next read */ skip += (off_t) n; } else { /* * There was something non-zero, so: * - first skip what we needed to skip, and forget that value * - then write the block */ if (skip != (off_t) 0) { if (lseek(fd, skip, SEEK_CUR) == (off_t)-1) { perror("lseek()"); exit(1); } skip = (off_t) 0; } if (write(fd, buf, (size_t) n) != n) { perror("write()"); exit(1); } } } perror("read()"); exit(1); }
Re: pytanie o zrobienie ghosta z NT-kiem
Dnia wto 25. maja 2004 16:49, Piotr Pruszczak napisał: > czy Knoppixem zrobię dokładny obraz dysku z NT 4.0 ?? > jutro jestem daleko - wawa, no i niestety nie dysponuję GHOST'em > a muszę zrobić dokładny obraz dysku apt-get install partimage --
Re: pytanie o zrobienie ghosta z NT-kiem
Hello Piotr, Tuesday, May 25, 2004, 4:49:32 PM, you wrote: PP> Mam bardzo nietypowe pytanie : PP> czy Knoppixem zrobię dokładny obraz dysku z NT 4.0 ?? PP> jutro jestem daleko - wawa, no i niestety nie dysponuję GHOST'em PP> a muszę zrobić dokładny obraz dysku PP> z tego co wiem mc może być tu bardzo pomocne, ale jeszcze pozostaje PP> kwestia tego że patrycja ntfs'owa PP> co chyba nie jest już tak proste, bo nie nadpiszę na ntfs'ie PP> zatem - czy knoppix oferuje takie narzędzia ?? PP> a jak nie to czy jest coś innego?? partimage daje rade, tylko nie wiem czy jest w knoppixie na pewno jest w sysresccd(www.sysresccd.org bodajze) -- Best regards, serafinmailto:[EMAIL PROTECTED]
Re: pytanie o zrobienie ghosta z NT-kiem
On Tue, May 25, 2004 at 07:02:19PM +0200, serafin wrote: > partimage daje rade, tylko nie wiem czy jest w knoppixie > na pewno jest w sysresccd(www.sysresccd.org bodajze) Faktycznie daje radę i jest w Knoppixie -- SirEx
RE: pytanie o zrobienie ghosta z NT-kiem
Witam. >czy Knoppixem zrobię dokładny obraz dysku z NT 4.0 ?? >jutro jestem daleko - wawa, no i niestety nie dysponuję GHOST'em >a muszę zrobić dokładny obraz dysku W Knoppix'sie jest partimage, który radzi sobie z większością fs. Ja osobiście kopiuję partycje win98,WinNT4.0,winXP na serwer linuxowy via net i nie mam problemów. M.Ścibiorski.
Re: pytanie o zrobienie ghosta z NT-kiem
> > czy Knoppixem zrobię dokładny obraz dysku z NT 4.0 ?? > > jutro jestem daleko - wawa, no i niestety nie dysponuję GHOST'em > > a muszę zrobić dokładny obraz dysku > [...] > > Zapewne dd sobie z tym poradzi. przed takim zrzutem dobrze jest usunac wszelkie pliki tymczasowe, potem nalezy zrobic defragmentacje wszystkich partycji NT, potem nalezy wszystkie dyski zapchac jak najwiekszymi plikami w ktorej tresci sa same bajty o wartosci 0. w sumie mozna stworzyc jeden taki plik, i po prostu go powielac. no chyba ze ma sie narzedzie, ktore wypelnia zerami nieuzywane obszary dysku :) po takiej operacji NT-ka lub inny dziwny system nalezy polozyc, odpalic linuxa, i .. dd if=/dev/hda | gzip -n >obraz.gz , gdzie n przyjmuje wartosci 1 do 9 . 1 najszybsza i najmniejsza kompresja, 9 najwolniejsza ale najwieksza kompresja. domyslnie wynosi 6. jesli zalezy ci na szybkosci, to wstaw tam tak ze 3. wbrew pozorom powinno byc szybciej, bo oszczedza sie na strumieniu wyjsciowym, a tym samym na czasie jego zapisu. przy okazji plik bedzie mniejszy :) aha. tych rzeczy ktore wymienilem na poczatku mozna oczywiscie nie robic, tyle ze wtedy w nieuzytych obszarach dysku beda rozne smieci, ktore zazwyczaj sie nie kompresuja. a jak beda zera, lub inna powtarzalna wartosc, to taki obszar sie redukuje do malych rozmiarow w pliku wynikowym. btw. w tym wariancie w dd nie podaje sie of=... , wtedy za wyjscie jest brany standardowy strumien wyjscia, na ktory zalapuje sie gzip . znik.
Re: pytanie o zrobienie ghosta z NT-kiem
a ja mam pytanko do partimaga w takim razie... jak zrobic w nim kopie boot-loadera??? jest opcja przywracania z pliku ale nie ma (lub nie widzialem opcji) tworzenia takiego pliku i dlaczego nie mozna (albo niewiem jak) tego zrobic automatycznie do obrazy partycji ... Pozdrawiam hipiss
RE: pytanie o zrobienie ghosta z NT-kiem
>a ja mam pytanko do partimaga w takim razie... >jak zrobic w nim kopie boot-loadera??? >jest opcja przywracania z pliku ale nie ma (lub nie widzialem opcji) >tworzenia takiego pliku i dlaczego nie mozna (albo niewiem jak) >tego zrobic automatycznie do obrazy partycji ... Przy tworzeniu obrazu partycji jest zapisywany razem z obrazem. Chcąc go odtworzyć z pliku podajesz scieżkę do obrazu partycji. Pozdrawiam Mariusz.
Re: pytanie o zrobienie ghosta z NT-kiem
A co jeśli ktoś sobie nagra na taką partycje jakieś rzeczy (np. film), a potem ten film skasuje, przy kasowaniu sektory nie są znowu zapełniane jakąś wartością, tylko kasuje się wpis w FAT. Sektory nie będą miały '00' w swojej całej zawartościi w efekcie czego tez będą kopiowane do imagu. System FAT się bardzo deframentuje więc nie trzeba żadnych filmów nagrywać tylko wystarczy poużywać troche systemu windows na tej partycji. Niby świeży system po instalacji to inna sprawa ale jeśli jakiś program stworzy sobie plik który będzie w zawartości miał same bajty '00' w którymś sektorzte, to po zrobieniu imagu i przy przywracaniu "obrazu" na dysk sektor taki będzie pomijany, w efekcie czego zawartość pliku po przywróceniu image będzie w niektórych miejscach przypadkowa. Trzeba by było przy każdym przywracaniu imagu zapisywac partycję docelową znowu zerami, a to przecerze jest bez sensu. (chociaż sam rozmiar pliku z imigem by był przynajmniej mniejszy) Rozwiązanie jest takie że można napisać taką procedurę która patrzy i kopiuje tylko te sektory z dysku, które są zajmowane przez pliki. Które to są sektory to jest przecierz do ustalania, bo struktura systemu plików FAT jest chętnie opisywana (czego nie można powiedzieć o NTFS, bo M$ to M$ i wogole długa historia). Wtedy korzystając z głównego katalogu, kopiowalibyśmy wszystkie pliki po kolei które się w nim znajdują. Znajdowały by się tam też pliki z atrybutem 'katalog' które byśmy sobie też odpowiednio traktowali. Troche roboty by było... ale chyba opłaca się takie coś napisać.
Re: pytanie o zrobienie ghosta z NT-kiem
Dnia 2004-06-03 20:33, Użytkownik Dawid Bielecki napisał: A co jeśli ktoś sobie nagra na taką partycje jakieś rzeczy (np. film), a potem ten film skasuje, przy kasowaniu sektory nie są znowu zapełniane jakąś wartością, tylko kasuje się wpis w FAT. Sektory nie będą miały '00' w swojej całej zawartościi w efekcie czego tez będą kopiowane do imagu. System FAT się bardzo deframentuje więc nie trzeba żadnych filmów nagrywać tylko wystarczy poużywać troche systemu windows na tej partycji. Niby świeży system po instalacji to inna sprawa ale jeśli jakiś program stworzy sobie plik który będzie w zawartości miał same bajty '00' w którymś sektorzte, to po zrobieniu imagu i przy przywracaniu "obrazu" na dysk sektor taki będzie pomijany, w efekcie czego zawartość pliku po przywróceniu image będzie w niektórych miejscach przypadkowa. powiem tak : robiłem obraz dysku, który pracował około 2 lat zmieścił się w 300MB bodajże po skompresowaniu maszyna czasami musiała radzić sobie z plikami graficznymi po 100-200 MB, zatem raczej NTFS nie ma tego problemu (czyli pomysł jest dobry bo taki partimage poradzi sobie z każdym M$) Trzeba by było przy każdym przywracaniu imagu zapisywac partycję docelową znowu zerami, a to przecerze jest bez sensu. (chociaż sam rozmiar pliku z imigem by był przynajmniej mniejszy) nie wiem jak z FAT ;) ale pewnie masz rację Rozwiązanie jest takie że można napisać taką procedurę która patrzy i kopiuje tylko te sektory z dysku, które są zajmowane przez pliki. Które to są sektory to jest przecierz do ustalania, bo struktura systemu plików FAT jest chętnie opisywana (czego nie można powiedzieć o NTFS, bo M$ to M$ i wogole długa historia). Wtedy korzystając z głównego katalogu, kopiowalibyśmy wszystkie pliki po kolei które się w nim znajdują. Znajdowały by się tam też pliki z atrybutem 'katalog' które byśmy sobie też odpowiednio traktowali. Troche roboty by było... ale chyba opłaca się takie coś napisać. na pewno, partimage to naprawdę silne narzędzie, podam do wiadomości że niestety ale Norton Ghost sobie nie poradził z tym dyskiem (sam nie wiem czemu-ale nawet nie wnikałem) ;) -- Piotr Pruszczak
[p.pruszczak@pro.onet.pl: Odp.: Re: pytanie o zrobienie ghosta z NT-kiem]
Załączam -- Marcin Owsiany <[EMAIL PROTECTED]> http://marcin.owsiany.pl/ GnuPG: 1024D/60F41216 FE67 DA2D 0ACA FC5E 3F75 D6F6 3A0D 8AA0 60F4 1216 --- Begin Message --- partimage daje radę ;) sektor startowy czystego dysku ustawiłem fdiskiem z windy98 (fdisk - partycja dos - aktywna) - mogłem być może tego nie robić, ale mało czasu miałem do dyspozycji a ludzie w stoenie bardzo niecierpliwi działa, dla 700 MB danych na dysku poniżej 10 minut - około 7 minut (700MB danych, knoppix, 2 dyski fatalnie ustawione bo nie chciały "gadać" ze sobą na ATA100, partycja ntfs 40GB łącznie miała) zgzipowane porada dla uzywających knoppixa - niestety trzeba 1GB RAM lub partycję ext2 lub 3 aby zapisać image inaczej się wiesza bo brakuje mu miejsca do zapisu pokazywał 99% a nie 100% przy zrzucaniu patrycji ale OK, było dobrze - pewnie błąd softu, zresztą coś pisał o experimentalu bootloader - jest plikiem INI na partycji ntfs, zatem jest traktowany jak dane ;) działa excellent, dzięki wszystkim za sugestie ;) jak możesz przeslij na listę, nie wiem czy jutro dam radę a widzę wielkie zainteresowanie tematem >On Tue, May 25, 2004 at 04:49:32PM +0200, Piotr Pruszczak wrote: >> Mam bardzo nietypowe pytanie : >> >> czy Knoppixem zrobię dokładny obraz dysku z NT 4.0 ?? >> jutro jestem daleko - wawa, no i niestety nie dysponuję GHOST'em >> a muszę zrobić dokładny obraz dysku > >Niedawno probowalem zrobic cos takiego (chodzilo o to, zeby przy pomocy >linuksa zrobic to, co potrafi ghost), tyle ze partycja byla Windows 98. >Problem polega na tym, ze ghost nie czyta dysku tak jak "dd" (bajt po >bajcie), ale bardziej jak dump (wykorzystujac informacje na temat >struktury systemu plikow omija podczas czytania puste miejsca). Efekt: >czytanie i pisanie przy pomocy dd zajmuje duzo wiecej czasu niz ghostowi. > >O ile w moim przypadku czytanie partycji (czyli tworzenie obrazu) moglo >sobie trwac ile chcialo, to przywracanie obrazu na dysk musialo sie z >pewnych wzgledow miescic ponizej 10 minut. O ile ghost radzil sobie z >tym w okolicach 5 minut, to zwykle "dd" musialo na to poswiecic prawie >pol godziny. Jest to oczywiscie zrozumiale, bo ghost nie zapisywal na >dysk bezuzytecznych sektorow, a "dd" pisalo dokladnie wszystko. > >Wymyslilem wiec takie cos: > >1) zapelniamy zerami partycje pod windows (dd if=/dev/zero of=/dev/partycja) >2) formatujemy ja >3) instalujemy na tym windows i potrzebne oprogramowanie >4) zczytujemy obraz przy pomocy dd if=/dev/partycja | gzip -c > obraz.bin.gz >5) zapisujemy obraz spowrotem na partycje przy pomocy gzip -dc obraz.bin.gz | programik /dev/partycja > >"programik" to mial byc maly programik otwierajacy urzadzenie >/dev/parycja i kopiujacy na niego dane z stdin na podobnej zasadzie jak >dd, ale z jednym wyjatkiem: jesli kopiowany sektor zawieralby tylko >zera, to zamiast write() wykonywane byloby wywolanie lseek(). Dzieki >temu bylyby zapisywane tylko uzyteczne sektory. Dodatkowe odraczanie >lseek() tak dlugo jak to mozliwe pozwoliloby zmniejszyc ilosc syscalli. > >W razie koniecznosci zmodyfikowania obrazu wykonywane bylyby kroki: 5 a >nastepnie 4. Dzieki temu zapelnianie pustych miejsc smieciami w trakcie >normalnej ekslploatacji systemu nie mialoby znaczenia. > >Liczylem na spory zysk na wydajnosci w kroku "5" (bo tylko na nim mi >zalezalo) dzieki znacznemu zmniejszeniu ilosci danych kopiowanych na >dysk (zera przesylane bylyby tylko przez potok miedzy gzipem a >programikiem, co powinno byc stosunkowo szybkie). > >W efekcie napisalem programik "holewrite" (zalacznik), ale jest z nim >jeden problem: nie obsluguje duzych partycji (powyzej 2 GB z hakiem). >Probowalem kompilowac go z roznymi dziwnymi flagami preprocesora >majacymi wlaczyc 64-bitowe sycalle, ale jakos nic to nie dawalo, a ja >nie mialem czasu zaglebic sie w temat. Jesli komus uda sie zmusic go do >poprawnego dzialania na duzych partycjach, to bardzo prosze o >instrukcje/latke. > >pozdrawiam, > >Marcin >-- >Marcin Owsiany <[EMAIL PROTECTED]> http://marcin.owsiany.pl/ >GnuPG: 1024D/60F41216 FE67 DA2D 0ACA FC5E 3F75 D6F6 3A0D 8AA0 60F4 1216 > > --- End Message ---