Mamy system LIDAR, który zbiera dane w terenie. Komputery przetwarzające nieprzetworzone dane to komputery z systemem Windows, więc używamy NTFS. Jednak sam system LIDAR uruchamia CentOS 7. Zwykle nie stanowi to problemu. Formatujemy dyski kolekcji na NTFS w systemie Windows lub używamy GParted (CentOS lub Ubuntu). CentOS montuje i zapisuje je w porządku, a Windows może je odczytać.
Nasi klienci chcieliby mieć możliwość formatowania napędów kolekcji w systemie LIDAR za pomocą CentOS. Myślałem, że to będzie trywialne zadanie i napisałem skrypt. Skrypt działa w celu formatowania dysków, a CentOS zapisuje do nich dane. Jednak po użyciu skryptu system Windows nie rozpoznaje dysków.
Jeśli GParted może to zrobić, to musi być coś nie tak z ich sposobem formatowania. Moja procedura jest następująca:
umount <mountPoint>
Zapewnia to, że dysk nie jest zamontowany.
(echo o; echo n; echo p; echo 1; echo ; echo ; echo w) | fdisk /dev/<driveLetter>
Używa fdisk do napisania nowej tablicy partycji, wykonując następujące czynności:
- o: Utwórz nową pustą tabelę partycji DOS
- n: Dodaj nową partycję
- p: Utwórz partycję podstawową
- 1: Partycja 1
- domyślny pierwszy sektor (pokazujący 65535 na dysku 480 GB)
- domyślny ostatni sektor (pokazany jako 937703087 na dysku 480 GB)
- w: Zapisz tabelę na dysku
Następnie...
mkfs.ntfs -f -L <driveLabel> /dev/<driveLetter>1
To formatuje partycję dysku 1 na NTFS.
mount -a
Powoduje to ponowne podłączenie dysków pamięci.
System Windows nie widzi dysków sformatowanych w ten sposób. Jeśli jednak użyję AOMEI w systemie Windows, zobaczą dyski, nawet jeśli nie mogę ich użyć. Jedyną wskazówką, która mi daje, jest to, że dodaje *:
do etykiety napędu. Więc zamiast <driveLabel>
to pokazuje *:<driveLabel>
.
Czy ktoś może mi powiedzieć, czy w moim skrypcie jest błąd, czy coś mi brakuje?
0x07
dla NTFS. (2) Myślę, że jeden z moich systemów operacyjnych Windows (stary) był wybredny i wymagał uruchomienia pierwszej partycji w sektorze63
(dziesiętny). Nie mogłem bezpośrednio użyć tego sektora startowego, utworzyłem nową partycję o większej liczbie, a następnie przesunąłem jej początek w menu ekspertax
,b
). Nie pamiętam, czy partycję trzeba było ustawić jako aktywną.Odpowiedzi:
Podstawowym problemem wydaje się być typ partycji, którego szuka Microsoft (przynajmniej w Windows 7). Nadal może to być możliwe przy użyciu fdisk, ale nie miałem czasu na dalsze testy.
Skończyłem używając gdisk zamiast fdisk i udało mi się go uruchomić.
Jeśli ktoś jest zainteresowany, oto mój zmodyfikowany skrypt:
Użyte opcje gdisk są następujące:
Po wielu testach wydaje się działać świetnie.
źródło
fdisk
pod Linuksem jest przestarzały; to tylko narzędzie zaprojektowane do pracy ze starym schematem partycjonowania. GPT ma swoje zalety, ale dla pojedynczej partycji danych na dysku twardym o pojemności 480 GB tablica partycji DOS również jest w porządku. Podałeś „podstawowe dane Microsoft” w GPT. Wypróbowałeś tabelę partycji DOS z0x07
typ partycji, jeśli tylko dla ciekawości? Nie byłbym zaskoczony, gdyby to była jedyna rzecz, którą przegapiłeś.