Mam dysk twardy 4 TB / dev / sdb, który ma sformatowany system plików NTFS zajmujący cały dysk. Najwyraźniej nie ma żadnej tablicy partycji, a jeśli tak, jest nieaktualny lub uszkodzony.
fdisk -l
pokazuje to:
Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x2052474d
This doesn't look like a partition table
Probably you selected the wrong device.
Device Boot Start End Blocks Id System
/dev/sdb1 ? 6579571 1924427647 958924038+ 70 DiskSecure Multi-Boot
Partition 1 does not start on physical sector boundary.
/dev/sdb2 ? 1953251627 3771827541 909287957+ 43 Unknown
Partition 2 does not start on physical sector boundary.
/dev/sdb3 ? 225735265 225735274 5 72 Unknown
Partition 3 does not start on physical sector boundary.
/dev/sdb4 2642411520 2642463409 25945 0 Empty
Partition table entries are not in disk order
gdisk -l
mówi, że obecna jest tylko tabela partycji MBR.
Dysk działa dobrze, gdy działa pod Linuksem; Mogę zamontować / dev / sdb bez problemów. Ale chcę załadować dysk za pomocą obudowy dysku twardego na komputerze z systemem Windows, aby móc chkdsk
na nim uruchomić . Windows jednak widzi ten MBR, jak pokazano na fdisk, i pokazuje 4 partycje, z których żadna nie jest użyteczna (żadna nie jest nawet oznaczona jako NTFS).
Czy można po prostu zapisać tablicę partycji na tym dysku bez zmiany zawartości systemu plików NTFS, aby system Windows 7 mógł uzyskać do niej dostęp jako pojedynczą partycję zajmującą cały dysk? Jeśli tak to jak?
Edycja: Jeśli nie można po prostu napisać tablicy partycji, czy istnieje jakaś nieniszcząca metoda osiągnięcia tego samego celu, jakim jest użycie dysku w systemie Windows, być może poprzez zmniejszenie systemu plików o kilka kilobajtów, a następnie zapisanie tablicy partycji? (tj. z gparted
).
33*512
bajtów zaraz po nim, a także podobnego miejsca na końcu dysku.Odpowiedzi:
W tej konkretnej sytuacji nie możesz zapisać MBR na tym dysku, ponieważ stracisz na nim wszystkie dane. Najlepszym sposobem byłoby skopiowanie wszystkich danych gdzie indziej, a następnie partycjonowanie dysku w systemie Windows za pomocą diskmgmt.msc.
źródło
ntfsresize
,ddrescue --reverse
i npgdisk
. Przed wykonaniem takiej sztuczki zaleca się wykonanie kopii zapasowej danych. Następnie, mając swoją kopię zapasową, wybrałbym twoje rozwiązanie, które jest o wiele prostsze.Zasadniczo możesz zrobić coś takiego:
ntfsresize
do zmniejszania istniejącego systemu plików o niewielką ilość (teoretycznie 2081 sektorów powinno wystarczyć, ale dla bezpieczeństwa zrobiłbym co najmniej 2 MiB).dd
, byłby możliwy i niezbyt trudny do napisania, ale wymagałby starannego przetestowania.Chyba że znajdziesz narzędzie, które wykona krok # 2 z czymś przypominającym bezpieczeństwo, kopiowanie danych z dysku, tworzenie partycji, a następnie przywracanie danych, jak sugerują hobby, prawdopodobnie będzie najlepszym rozwiązaniem. Może to być nawet szybsze niż próba przesunięcia całego systemu plików, szczególnie jeśli jest on w większości pusty. Nawet jeśli znajdziesz narzędzie do wykonania kroku 2 (lub całej procedury) za jednym razem, zdecydowanie zalecamy utworzenie kopii zapasowej przed kontynuowaniem, ponieważ procedura, którą tutaj opisałem, jest dość niebezpieczna.
Na marginesie wydaje się, że używasz tego dysku NTFS wyłącznie w systemie Linux. Odkryłeś jeden ważny powód, aby tego nie robić: narzędzia do konserwacji NTFS w Linuksie są co najwyżej szczątkowe. Jeśli planujesz uzyskiwać dostęp do danych wyłącznie z systemu Linux, zalecamy wykonanie kopii zapasowej, utworzenie partycji, utworzenie rodzimych systemów plików Linux i przywrócenie danych do nowych rodzimych systemów plików Linux. Zapewni to lepszą możliwość naprawy uszkodzeń systemu plików z poziomu systemu Linux, bez angażowania systemu Windows.
źródło
ddrescue --reverse
kroku 2). Niestety nie powiodło się w kroku 1, ponieważ ntfsresize znalazł problemy ze spójnością plików, których ntfsfix nie może naprawić (mówi o używaniuchkdisk /f
, dlatego właśnie chciałem przenieść go na partycję. Nauczyłem się tej lekcji. Używaj partycji, a nie surowych dysków, i jeśli to możliwe, unikaj NTFS