วันศุกร์ที่ 11 มีนาคม พ.ศ. 2548

ฟอร์แมต FAT32 ที่เกิน 32GB

เมื่อวานเพิ่งสังเกตเห็นว่าในวินโดวส์ XP ไม่สามารถฟอร์แมตฮาร์ดดิสก์ที่มีขนาดมากกว่า 32GB ให้เป็นแบบ FAT32.

ตามปรกติ, วินโดวส์ XP จะบังคับให้ฟอร์แมตพาร์ทิชันหรือฮาร์ดดิสก์ที่มีขนาดใหญ่มากๆให้เป็นแบบ NTFS โดยปริยาย. ปัญหาคือผมมีฮาร์ดดิสก์ที่ต่อด้วย USB แบบพกพาได้ขนาด 80 GB. แบ่งพาร์ทิชันส่วนหนึ่งไว้สำหรับใช้กับวินโดวส์, เลยวางแผนว่าจะใช้ระบบไฟล์แบบ vfat (fat32) เพื่อให้ใช้ได้ทั้งจากลินุกซ์และวินโดวส์. เนื่องจากฟอร์แมตด้วยวินโดวส์ XP ให้เป็นแบบ FAT32 ไม่ได้เลยต้องมาฟอร์แมตบนลินุกซ์. แปลกดีเหมือนกัน.

ฮาร์ดดิสก์พวก USB เช่น USB flash memory, ฮาร์ดดิสก์พกพาพวกนี้จะเห็นเป็นฮาร์ดดิสก์แบบ SCSI. หลังจากต่อสายเคเบิลเข้ากับเครื่องคอมฯแล้วใช้ dmesg ดูว่าเคอร์เนลรับรู้ชื่อดีไวซ์ว่าเป็นอะไรก็ได้. หรือจะใช้คำสั่ง fdisk -l แสดงพวกบล็อกดีไวซ์ที่เคอร์เนลรับรู้.

# fdisk -l

Disk /dev/hda: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        2433    19543041   83  Linux
/dev/hda2            2434        4805    19053090   83  Linux
/dev/hda3            4806        4864      473917+  82  Linux swap

Disk /dev/sda: 80.0 GB, 80026361344 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2433    19543041   83  Linux
/dev/sda2            2434        4866    19543072+  83  Linux
/dev/sda3            4867        4929      506047+  82  Linux swap
/dev/sda4            4930        9729    38556000    c  W95 FAT32 (LBA)
ในตัวอย่างให้พาร์ทิชันที่ 4 (/dev/sda4) เป็น FAT32. ตอนแรกสั่งคำสั่ง fdisk /dev/sda เพื่อสร้างพาร์ทิชันก่อนแล้วเลือกประเภทของพาร์ทิชันให้เป็น W95 FAT32 (LBA) เพราะพาร์ทิชันส่วนนี้อยู่ในส่วนที่เกิน 8GB. เสร็จแล้วฟอร์แมตพาร์ทิชันนั้นด้วยคำสั่ง mkdosfs หรือ mkfs.vfat ซึ่งเป็นตัวเดียวกัน.
# mkfs.vfat -F 32 /dev/sda4
ต้องใส่ตัวเลือก -F 32 ด้วยให้ระบบไฟล์ FAT32 ไม่เช่นนั้นตัวโปรแกรมจะเลือกเองเป็น -F 12 หรือไม่ก็ -F 16. เสร็จแล้วก็เอาฮาร์ดดิสก์นั้นไปใช้กับวินโดวส์ได้ตามปรกติ. ถ้าใช้กับลินุกซ์ก็ mount -t vfat ....

ไม่มีความคิดเห็น: