Windows Formatted Disks
The Windows LDM Problem
A Zip disk formatted with Windows 2000 or Windows XP will be partitioned using Microsoft's new Logical Disk Manager (LDM) which is completely different from the standard DOS partitions we are all used to.
Because this is a new and undocumented partitioning scheme, it is not supported by other operating systems (including other versions of Windows). There is a Linux kernel patch which appears to solve this problem.
This means that a zip disk (or hard drive) formatted in this way cannot be used on a machine running any other operating system. An unpatched Linux installation will refuse to mount such a disk.
This document describes how to use Linux tools to format a Zip disk which can be read by both Windows and Linux systems.
Proper Zip Disk Formating (in Linux)
Fdisk the disk and create a new partition table:
# fdisk /dev/hdd Command (m for help): o Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Command (m for help):
Create a partition 4 that fills the disk:
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 4 First cylinder (1-239, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-239, default 239): Using default value 239 Command (m for help): Just hitting return at the "First Cylinder" and "Last cylinder" prompt will default it to the first and last cylinder of the disk.Tag the partition as a "Fat 16" (hex value 6) partition:
Command (m for help): t Partition number (1-4): 4 Hex code (type L to list codes): 6 Command (m for help):
Verify that the partition table is right:
Command (m for help): p Disk /dev/hdd: 64 heads, 32 sectors, 239 cylinders Units = cylinders of 2048 * 512 bytes Device Boot Start End Blocks Id System /dev/hdd4 1 239 244720 6 FAT16 Command (m for help):
Note that this was on a 250 megabyte Zip disk so a 100 megabyte one will be slightly different.
Write the partition table:
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks. # Ignore the warning about DOS 6.x. If there are any errors re-reading the partition table, eject the zip disk and reinsert it before preceding.Create the DOS file system:
# mkdosfs -c /dev/hdd4 mkdosfs 2.8 (28 Feb 2001) #
You can exclude the -c flag if you do not want to check for bad blocks. I would recommend that you do even though it takes considerably longer.
Mount it and test it:
# mount -t vfat /dev/hdd4 /mnt/zip # ls /mnt/zip # df /mnt/zip Filesystem 1k-blocks Used Available Use% Mounted on /dev/hdd4 244464 0 244464 0% /mnt/zip # umount /mnt/zip #
Again, this is on a 250 megabyte zip disk.
Eject it and your done!:
# eject /dev/hdd #
The disk will now work on both the Windows and Linux machines.
Author and License
©2002 Edward Schaller <schallee@darkmist.net> under the GNU Free Document License.
Adapted for the CS Department Documentation Project by Richard Esplin.