Odpowiedzi:
Czy
dd if=/dev/zero of=/dev/sdawyczyści istniejącą tabelę partycji?
Tak, tablica partycji znajduje się w pierwszej części dysku, więc zapisanie jej zniszczy ją. Że ddnapisze na cały napęd jeśli pozwolisz działać (tak to zajmie trochę czasu).
Coś takiego dd bs=512 count=50 if=/dev/zero of=/dev/sdawystarczyłoby do zastąpienia pierwszych 50 sektorów, w tym tablicy partycji MBR i podstawowego GPT. Chociaż przynajmniej według Wikipedii, GPT ma dodatkową kopię tabeli partycji na końcu dysku, więc nadpisanie tylko części w głowie dysku może nie wystarczyć.
(Nie musisz jednak używać dd. head -c10000 /dev/zero > /dev/sdaLub cat /bin/ls > /dev/sdamiałby ten sam efekt.)
czy
fdisk /dev/sda g(dla GPT) wymazuje zera zapisane przez / dev / zero?
Również tak (pod warunkiem, że zapiszesz zmiany).
(Jednak frazowanie w tytule jest po prostu mylące, /dev/zerosamo w sobie nie robi nic więcej niż zwykłe przechowywanie.)
/bin/lssą wystarczająco krótkie, wówczas operacja zapisu może zastąpić tylko kilka bajtów MBR, a najważniejsza część (początkowy i końcowy sektor partycji) może pozostać nienaruszona. Chociaż ponowna instalacja MBR (najczęściej grub --install /dev/sda) jest nadal wymagana, aby system mógł zostać ponownie uruchomiony.
lsplik binarny, a nie dane wyjściowe z jego uruchomienia. Najmniejszy możliwy plik binarny ELF „Hello World” wydaje się mieć 98 bajtów (czyli mniej niż MBR), ale myślę, że można bezpiecznie założyć, że każdy plik binarny z rzeczywistymi funkcjami powinien być większy niż MBR (notorycznie mała implementacja FreeBSD lsto 32784 bajty długie, nawet wystarczająco duże, aby zastąpić część początkową dysku GPT). ;)
ls. Lista /usr/binprawdopodobnie byłaby wystarczająco długa. Chciałem użyć tego echojako przykładu, ale IIRC potrzebujesz prawie 500 bajtów, aby zastąpić tablicę partycji MBR, więc pisanie jest trochę męczące. (bez względu na dokładną liczbę)
Tablica partycji jest przechowywana w pobliżu początku 1 urządzenia dyskowego (logicznego 2 ).
Zastąpienie tego obszaru czymkolwiek (zerami /dev/zerolub innymi danymi) zastąpi tablicę partycji bełkotem, więc nie będzie już oczywiste, gdzie zaczynają się partycje na urządzeniu.
Nadal można skanować cały dysk i próbować zidentyfikować „bajty magiczne”, które oznaczają początki systemów plików.
I odwrotnie, jeśli użyjesz fdisk(lub innego narzędzia do partycjonowania), aby utworzyć nową tablicę partycji, narzędzie zastąpi kilka pierwszych bajtów dysku, aby zapisać tę nową tabelę.
Dysk ma tylko jeden początek, więc cokolwiek zrobisz jako ostatnie, zostanie na nim „przyklejone”.
Należy jednak pamiętać, że niektóre formaty tablic partycji (jak GPT) przechowują kopie zapasowe w różnych miejscach (np. Na końcu dysku dla GPT), z których można odzyskać niektóre informacje o partycjach.
1: np. W pierwszych 512 bajtach dla MBR lub w pierwszych i ostatnich 17408 bajtach dla GPT
2: Dysk może wewnętrznie odwzorowywać logiczne bloki na różne części nośnika fizycznego, ale to mapowanie jest niewidoczne dla (i nieważne dla) system operacyjny.
/dev/zerowymazuje czegoś, toddwymazuje przez skopiowanie. Fakty, że bajty są zerowe i że bajty zerowe pochodzą z/dev/zerojakiegoś innego źródła zer, są drobnymi szczegółami.