Partycja nie pojawia się w / dev

13

Niedawno odmontowałem dysk twardy o pojemności 4 TB z jednego komputera, aby uzyskać dostęp do plików bezpośrednio z innego komputera. Wyglądało na to, że nie było problemów z odmontowaniem. Podczas podłączania dysku twardego do innego komputera dysk twardy jest rozpoznawany w „/ dev” jako sdb, ale partycja „sdb1” nie pojawia się, dlatego nie mogę go zamontować. Jeśli ucieknę

fdisk -l /dev/sdb


WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


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 / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot          Start     End      Blocks      Id  System
/dev/sdb1               1  4294967295  2147483647+  ee  GPT

Pojawia się partycja sdb1. Ponieważ jest to partycja 4 TB, uruchomiłem również polecenie

parted /dev/sdb

GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: ASMT 2105 (scsi)
Disk /dev/sdb: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

Następnie wpisz „print”. W takim przypadku partycja sdb1 NIE jest wyświetlana.

Dlaczego występuje tutaj niedopasowanie informacji? Czy to oznacza, że ​​partycja została usunięta? Czy istnieje sposób na odzyskanie tej partycji i zamontowanie jej?

Z góry bardzo dziękuję

rmsrms1987
źródło
Są trzy powody, dla których ta linia / dev / sdb1 nie pojawia się, ale robi to / dev / sdb. 1. ponieważ na tym dysku nie ma tabeli partycji, ponieważ konto nie zostało utworzone. 2. Tablica partycji jest uszkodzona lub 3. W tablicy partycji znajduje się podstawowy system plików, którego ten komputer nie może rozpoznać z powodu braku zainstalowanych bibliotek. Rozwiązanie: Możesz uruchomić diagnostykę na tablicy partycji, używając fdisk /dev/sdbi wpisując „p”, aby uzyskać więcej informacji. Jeśli partycja istnieje i nie jest uszkodzona, a masz biblioteki do parsowania i czytania, ta linia powinna się pojawić.
Eric Leschinski

Odpowiedzi:

16

Uruchom polecenie, partprobeaby komputer ponownie przeskanował dysk w poszukiwaniu partycji.

Lawrence
źródło
Dzięki za odpowiedzi. Próbowałem uruchomić to polecenie, po prostu ponownie uruchamiając cały komputer bez powodzenia.
rmsrms1987
Jaka jest wydajność fdisk -l /dev/sdb? Jaka jest wydajność dmesg?
Lawrence
1
@ rmsrms1987 To dziwne ... Używasz fdisk na partycji 4TiB i wydaje się, że działa dobrze. Jednak ten artykuł ibm.com/developerworks/linux/library/l-gpt/index.html wyjaśnia, że ​​partycje większe niż 2 TiB nie mogą być obsługiwane przez MBR (tylko GPT) i że fdisk nie może obsługiwać GPT. Wydaje się to sugerować, że masz MBR na dysku. Czy możesz podać nam dane wyjściowe fdisk -l / dev / sdb? TY
MariusMatutiae
Wierzę, że partycja została utworzona za pomocą GNU Parted, ponieważ ma więcej niż 2 TB, ale nic nie jest generowane, gdy próbuję uzyskać dostęp za pomocą tej metody. Z jakiegoś powodu sdb1 pojawia się tylko podczas korzystania z fdisk.
rmsrms1987
1
Zredagowałem swój oryginalny post, aby wyświetlić bardziej szczegółowe dane wyjściowe z programu fdisk i parted. Jeszcze raz dziękuję za pomoc w rozwiązaniu tego problemu.
rmsrms1987
3

Nie wiem, czy to wciąż aktualny problem, ale miałem ten sam problem z jednym z moich dysków twardych. Użyłem testdiski powiedziałem mu, aby przeanalizować dysk. Znaleziono brakującą partycję i zaktualizowano tabelę partycji dysków. Następnie uruchomiłem polecenie partprobei partycja pojawiła się w / dev / pełni funkcjonalna.

drags4ck
źródło
To wygląda jak duplikat innej odpowiedzi.
bwDraco
1

Prawdopodobnie nie jest to twój problem, ale miałem problem z podobnymi objawami, który został spowodowany przez superblok RAID na dysku.

Oczywiście, chciałem wyczyścić wszystko z mojego dysku, więc nie jest to zalecane, jeśli tak nie jest. Ale mdadm --zero-superblock /dev/sdbzrobiłem lewę w moim przypadku.

WhittlesJr
źródło
0

Czy nikt nie mówił o uruchomieniu z nowoczesnego LiveCD / LiveUSB, który obsługuje GPT?

Po prostu spróbuj uruchomić komputer z dystrybucją Live dowolnego współczesnego Linuksa, spróbuj także z GParted Live Disk, SystemRescueCD itp.

Możliwe, że używany komputer nie jest zgodny z GPT i / lub dyskami <2TiB, może to być również kontroler SATA nieobsługujący dysku> 2TiB (widziałem niektóre na moich rękach, niektóre na płytach głównych, niektóre na obudowach USB). .. a masz 4TiB, co też jest najgorsze, niektóre kontrolery obsługują tylko do Three TiB, ale nie 4TiB lub więcej na dysk.

Dlaczego widzisz główną partycję, gdy używasz fdisk -l? Najprawdopodobniej widzisz „ochronną” partycję MBR, która chroni partycję / partycje GPT; który jest przechowywany na pierwszym sektorze dysku ... większość kontrolerów SATA, które mają problemy z disck> 2TiB, a także niektóre, które mają problemy tylko z> 3TiB, widzą pierwsze 2TiB / 3TiB dysku, więc widzą MBR (pierwszy sektor) poprawnie, ale nie GPT, ponieważ GPT zapisuje dane po MBR i na samym końcu dysku.

Postaraj się zapewnić obie rzeczy: Masz kompatybilność z GPT (użyj gfisdk zamiast fdisk, aby to sprawdzić) i kontroler SATA nie jest ograniczony tylko do <2TiB, a żaden nie jest ograniczony do <3TiB.

Najlepszy sposób, aby to sprawdzić: uruchom z dowolnego LiveLinux, takiego jak GParted, SystemRescueCD itp. I spróbuj wyświetlić listę partycji (z fdisk), nowoczesne fdisk -lmogą wyświetlać partycje GPT.

PD: Struktura pól MBR ogranicza strefę użytkową do pierwszych 2TiB, ze względu na długość pól (MBR został zaprojektowany z tym ograniczeniem).

Claudio
źródło
0

Podczas gdy fdisk - w zależności od wersji - spróbuje utworzyć partycję na dysku 4 TB, a nawet oznaczy typ partycji jako GPT, partycja ta nie zostanie rozpoznana przez parted.

Rozwiązaniem jest usunięcie partycji utworzonej za pomocą programu fdisk i użycie parted do wykonania całej czynności:

parted /dev/sdb
mklabel gpt
unit TB
mkpart primary 0 3
print
quit

Może być konieczne uruchomienie „mkpart primary 0 3TB” zamiast „mkpart primary 0 3”.

W mało prawdopodobnym przypadku, gdy nie zobaczysz / dev / sdb1, uruchom partprobe i spójrz ponownie.

bnwww
źródło