我有一个外部硬盘驱动器,我在 Windows 中将其格式化为 NTFS 分区。现在,我使用以下命令在我的 linux 系统中格式化了这个硬盘。
mkfs.ext3 /dev/sdb1
Run Code Online (Sandbox Code Playgroud)
它已成功格式化。但是,当我运行该fdisk -l命令时,它为我提供了 NTFS/HPFS 系统。
Device Boot Start End Blocks Id System
/dev/sdb1 1 121601 976760001 83 HPFS/NTFS
Run Code Online (Sandbox Code Playgroud)
但是,该命令df -T /dev/sdb1仍然给我文件系统类型为ext3.
为什么我在运行fdisk -l命令时没有将系统显示为 Linux ?
slm*_*slm 15
设置磁盘或分区时,有两个方面可以做到这一点。第一个是使用MBR(主引导记录)或GPT(GUID 分区表)格式在磁盘上制定分区表方案的行为。这两者都在磁盘上放置了一个“结构”。
如果您查看 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
Run Code Online (Sandbox Code Playgroud)
因此,在您的情况下,分区被标识为类型 17。
第二个方面是分区本身(文件系统)内空间的格式化。这些是在处理 EXT3/4 等时最熟悉的文件系统。
因此,在您的情况下,您混合了通常不会组合在一起的分区类型和文件系统。我应该在这里提到,诸如此类的工具fdisk是“愚蠢的”,因为它们通常会让您做任何您想做的事情,无论这样做是否有意义。
因此,要解决您的问题,如果是格式化为 EXT4 的裸分区,则需要将分区类型更改为 83,如果是 LVM 分区,则需要将其更改为 8e。好消息是您可以使用fdisk以下t功能更改分区类型:
t change a partition's system id
Run Code Online (Sandbox Code Playgroud)
成功执行此操作后,您的分区应如下所示:
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 976773119 487873536 8e Linux LVM
Run Code Online (Sandbox Code Playgroud)
但是,在您的情况下,由于分区类型似乎已列为 83,并且该分区被报告为 HPFS/NTFS,我想我倾向于将所有分区一起删除并重新开始。
该id分区表不必有什么做什么的分区实际上是。例如,XFS 文件系统没有类型——人们只是使用“linux”(83)。 fdisk会说HPFS/NTFS,直到您更改分区类型:
fdisk /dev/sdb
t 1
83
w
Run Code Online (Sandbox Code Playgroud)
然后重新启动,或重新连接驱动器。(确保它没有先安装)