fdisk -l将ext3文件系统显示为HPFS / NTFS


14

我有一个外部硬盘驱动器,在Windows中我将其格式化为NTFS分区。现在,我使用以下命令在Linux系统中格式化了该硬盘。

mkfs.ext3 /dev/sdb1

已成功格式化。但是,当我运行fdisk -l命令时,它给我的系统是NTFS / HPFS。

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

但是,该命令df -T /dev/sdb1仍给我文件系统类型为ext3

当我运行fdisk -l命令时,为什么没有向我显示系统为Linux ?

Answers:


15

设置磁盘或分区时,有两个方面的操作。首先是通常使用MBR(主引导记录)GPT(GUID分区表)格式在磁盘上放置分区表方案的操作。这两个都在磁盘上放置了一个“结构”。

MBR

如果看一下MBR的结构,您会注意到有一个分配的部分用于定义分区“类型”。

                          布局

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      

因此,在您的情况下,该分区被标识为类型17。

文件系统格式

第二个方面是分区本身(文件系统)中空间的格式。这些是处理EXT3 / 4等时最熟悉的文件系统。

因此,在您的情况下,您混合使用了分区类型和文件系统,这些文件通常不会一起使用。我应该在这里提到诸如fdisk“哑巴”之类的工具,它们通常会让您做任何您想做的事,无论这样做是否有意义。

更改分区的类型

因此,要解决您的问题,您需要将分区类型更改为83(如果它是格式化为EXT4的裸分区)或8e(如果它是LVM分区)。好消息是您可以使用fdisk通过t函数来更改分区类型:

   t   change a partition's system id

成功执行此操作后,您的分区应如下所示:

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

我会怎么做!

但是,在您的情况下,由于分区类型似乎已被列为83,并且该分区被报告为HPFS / NTFS,我想我倾向于一起删除所有分区,并从头开始。


1
非常感谢您的精彩解释。我已将30 GB数据写入该硬盘,其系统当前为HPFS / NTFS。如果我使用fdisk -t命令将分区类型更改为Linux,这是否意味着它将删除磁盘中存在的30 GB数据?
拉梅什(Ramesh)

与您过去犯过类似的错误时,我从未尝试过更改磁盘类型。通常,分区表信息与您的数据是分开的,因此数据应保留完整无缺。我想我会先备份它,然后再尝试更改它。另外,如果您不打算在Windows中挂载该分区,则可以保留该分区。Linux并不关心这种类型,只有Windows会在何时/是否试图挂载它。
slm

轶事证据:我有一个ext4格式的分区,类型ID为7,并相应地标识为HPFS / NTFS / exFAT。该t命令83将磁盘重新标记为Linux,没有数据丢失:)
Johann

6

id分区表不必有什么做什么的分区实际上是。例如,XFS文件系统没有类型-人们只使用“ linux”(83)。 在更改分区类型之前,fdisk将显示HPFS / NTFS

fdisk /dev/sdb
t 1
83
w

然后重新启动,或重新连接驱动器。(确保没有首先安装它)


我也想知道这一点。本质上,更改此数字与任何内容无关(只要我不将其更改为Swap分区或类似的东西)?
palswim 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.