I am using ext2fsd program (v0.35) on Windows XP (SP2) to access my USB harddisk that I carry between home and work. While the ext2fsd program works perfectly with partitions on permanent harddisk, USB harddisk and flash-disks bring additional complications:
* Apparently volume manager is not subscribed to USB events. Thus user is forced to open Volume Manager applet, and manually choose "Refresh" menu, for the newly inserted disk to be detected.
* Drive letter to a partition associations are remembered for static disks only. I assume that ext2fsd is using device path (which might change in case of USB) as partition token. IMHO, it would be more correct to use ext2fs labels (man e2label), to create associations between partitions and drive letters.
* I have not found a way to safely unmount a ext2 filesystem. Attempt to use "Safely remove hardware" applet fails with error message
"... because a program is still accessing it.". I can't even manually issue "sync" command, as I would do in such cases on Linux to minimize data loss...
And a small question: what is the "default" codepage that is used for EXT2 filesystems? Is it UTF8?
1, try to update to new versoin of Ext2Fsd. 0.36 and 0.37 has much improvement on resource releasing: say no to memory leak
2, default codepage is the OEM one determined by your windows system. Ex: ANSI for english system, CP_936 for a Chinese system. see: http://www.microsoft.com/globaldev/reference/oem.mspx
3, Ext2Mgr could handle driver letters changes, but won't refresh/reload when new devices come. I'll plan this feature in future releases.
4, "sync" always works for me, but I didn't do much testing on removable disk or removable media devices. I'll try to make some tests on USB/flash disks driverletter assignment and "safely remove", then I'll write the results here to notify the progress to all.
Thanks for this ext2 support. It saves my bacon under Vista. My application is to use an external ext2 formatted disk through USB. When I assign a drive letter I am only able to access the disk using the non-permanent assigned drive letter through the shell (cmd.exe). The drive letter does not appear in the explorer nor in ZTree.
If I permanently assign the drive letter and reboot I can access the ext2 drive via its drive letter, whether or not it is connected to the USB port during the reboot. However, every time I "Safely remove USB mass storage device" and reattach, it is assigned a new \Device\Harddisk\VolumeN value, where N increases by 1 for each iteration. Of course, I can then no longer access the disk via the permanent drive letter because it seems to be associated with \Device\Harddisk\VolumeN value at the time when the drive letter was permanently assigned (before the reboot).
Further, if another USB drive (eg a flash drive) is inserted immediately after a reboot (without my ext2 drive being connected) then the flash drive is associated with \Device\Harddisk\VolumeN of the ext2 drive and the ext2 drive is not able to be associated with its drive letter until the next reboot. The flash drive is then associated with the permanent drive letter of the ext2 drive and the drive letter assigned by Windows.
I hope this is clear enough to suggest a way forwards wrt removable USB drives.
For removable disks, it's better to change the partition type to 0x07 NTFS or any other recognized types by windows. This way will prohibit grub booting from this disk, but normally we don't install grub on remvoable disk.
For removable media disks, windows will treat it as recognized. so there's no any issue in driver letter assignment. Windows only recognizes the first partition of all removable media devices, since it thinks removable media device shouldn't have partitions.
Windows Object Manager will refer the VPB and never drop it during Ext2Mgr issues deviceioctl to Ext2Fsd. The core reason is not very clear right now. I'll make a workaround first in the coming 0.38. Then later I'll see what's going on inside Object Manager.
I'm very glad to announce that drive letter automatical assignation when being plugged and removal when safely removing.
Use the second method (Change Drive Letter -> Select a Drive Letter -> mask the second mehtod with (MountMgr + Ext2Mgr) on) to assign a drive letter or "Ext2 Volume Property" -> "Enable AutoMount".
This feature need both Ext2Mgr and Ext2Fsd started before plugging or unplugging disks.
Thanks for your good ideas, Skliarouk Arieh and Arnstein.
After removing... the drive letter remains visible... apparently this process assigned the drive with a static letter... I do not see how to undo or un-mount or remove this from being visible....??? advice please?
nevermind - for those with the same question..... On Windows 7 ... after reboot ... the drive letter is refreshed and removed if not connected... problem solved ... but I would like to know how to do it without rebooting???
nevermind - I can not delete a comment apparently??? wth?
Ext2Mgr supports a tool to remove these dead drive letters. Try Ext2Mgr->Tools->Remove Dead Letters. Have you tried that ? Another utils (umount.exe) could also work to remove a dead driver letter.
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.