fdisk -l hiển thị hệ thống tệp ext3 dưới dạng HPFS / NTFS


14

Tôi có một ổ cứng gắn ngoài mà tôi định dạng là phân vùng NTFS trong Windows. Bây giờ, tôi định dạng ổ cứng này trong hệ thống linux của mình bằng lệnh bên dưới.

mkfs.ext3 /dev/sdb1

Nó đã được định dạng thành công. Tuy nhiên, khi tôi chạy fdisk -llệnh, nó cung cấp cho tôi hệ thống dưới dạng NTFS / HPFS.

   Device Boot      Start         End      Blocks   Id  System
   /dev/sdb1               1      121601   976760001   83  HPFS/NTFS

Tuy nhiên, lệnh df -T /dev/sdb1vẫn đưa cho tôi loại hệ thống tệp như ext3.

Tại sao nó không hiển thị cho tôi hệ thống như Linux khi tôi chạy fdisk -llệnh?

Câu trả lời:


15

Khi thiết lập đĩa hoặc phân vùng, có 2 khía cạnh để thực hiện việc này. Đầu tiên là hành động đặt sơ đồ bảng phân vùng trên đĩa bằng các định dạng MBR (Bản ghi khởi động chính) hoặc GPT (Bảng phân vùng GUID) . Cả hai đều nằm trên một "cấu trúc" trên đĩa.

MBR

Nếu bạn xem cấu trúc của MBR, bạn sẽ nhận thấy rằng có một phần được phân bổ để xác định "loại" phân vùng.

                          ss bố trí

Các loại phân vùng hợp lệ cho MBR:

Command (m for help): l

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      

Vì vậy, trong trường hợp của bạn, phân vùng được xác định là loại 17.

Định dạng hệ thống tập tin

Khía cạnh thứ hai cho điều này là định dạng của không gian trong chính phân vùng (hệ thống tập tin). Đây là các hệ thống tệp mà hầu hết đều quen thuộc hơn khi giao dịch với EXT3 / 4, v.v.

Vì vậy, trong trường hợp của bạn, bạn đã trộn một loại phân vùng và một hệ thống tệp thường không đi cùng nhau. Tôi nên đề cập ở đây rằng các công cụ như fdisk"ngu ngốc" theo nghĩa là chúng thường sẽ cho phép bạn làm bất cứ điều gì bạn muốn cho dù nó có ý nghĩa để làm như vậy hay không.

Thay đổi loại phân vùng

Vì vậy, để giải quyết vấn đề của bạn, bạn cần thay đổi loại phân vùng thành 83 nếu phân vùng trống được định dạng là EXT4 hoặc 8e nếu đó là phân vùng LVM. Tin vui là bạn có thể sử dụng fdiskđể thay đổi loại phân vùng thông qua tchức năng:

   t   change a partition's system id

Sau khi thực hiện thành công, các phân vùng của bạn sẽ trông giống như thế này:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   976773119   487873536   8e  Linux LVM

Tôi sẽ làm gì!

Tuy nhiên, trong trường hợp của bạn vì loại phân vùng dường như đã được liệt kê là 83 và phân vùng được báo cáo là HPFS / NTFS, tôi nghĩ rằng tôi có xu hướng xóa (các) phân vùng cùng nhau và bắt đầu lại với một bản rõ ràng.


1
Cảm ơn rất nhiều cho lời giải thích tuyệt vời. Tôi đã ghi dữ liệu 30 GB vào ổ cứng này có hệ thống hiện là HPFS / NTFS. Nếu tôi sử dụng lệnh fdisk -t để thay đổi loại phân vùng thành Linux, điều đó có nghĩa là nó sẽ xóa dữ liệu 30 GB có trong đĩa?
Ramesh

Tôi chưa bao giờ thử thay đổi loại đĩa khi tôi đã mắc một lỗi tương tự như bạn trong quá khứ. Nói chung, thông tin bảng phân vùng tách biệt với dữ liệu của bạn để dữ liệu phải được giữ nguyên. Tôi nghĩ rằng tôi sẽ sao lưu nó trước, sau đó cố gắng thay đổi nó. Ngoài ra nếu bạn không gắn phân vùng trong Windows, bạn sẽ ổn khi để nó như vậy. Linux không quan tâm đến loại này, chỉ Windows sẽ khi / nếu nó cố gắn nó.
slm

Bằng chứng trực tràng: Tôi có một phân vùng có định dạng ext4 với id loại 7 và được xác định tương ứng là HPFS / NTFS / exFAT. Các tlệnh với 83lại dán nhãn đĩa như Linux, không mất dữ liệu :)
Johann

6

Bảng idtrong phân vùng không cần phải làm gì với những gì thực sự có trong phân vùng. Ví dụ: không có loại cho hệ thống tệp XFS - mọi người chỉ sử dụng "linux" (83). fdisksẽ nói HPFS / NTFS cho đến khi bạn thay đổi loại phân vùng:

fdisk /dev/sdb
t 1
83
w

Và sau đó khởi động lại, hoặc gắn lại ổ đĩa. (đảm bảo nó không được gắn trước)


Tôi đã tự hỏi về điều này, quá. Về cơ bản, việc thay đổi số này không ảnh hưởng gì cả (miễn là tôi không thay đổi nó thành phân vùng Hoán đổi hoặc đại loại như thế)?
palswim
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.