Unknown partition table
Some USB memory sticks, e.g. the Corsair Flash Padlock 2 USB pen drive, have a bug in the controller resulting in problems using GNU/Linux. This will result in no partitions found when you insert the stick in the computer. The system log and dmesg
will tell you "unknown partition table
". The error is due to the first read operation after device power-up against the device is lost by the device itself.
Workarounds
There are a few known workarounds:
- Replace the USB drive. It's faulty, and if you've got warranty, send it back. Choose another brand using a controller not affected by this bug.
- After inserting, perform a software eject, making the kernel re-connect the still powered-on device. "
eject -t /dev/sdX
".
- After inserting the stick, run the command "
blockdev --rereadpt /dev/sdX
" as root, where /dev/sdX
is the drive device. This will make GNU/Linux rescan the partition table.
- Avoid using partitions. It's perfectly possible to create the file system directly on the device itself instead of in a partition, e.g. "
mkfs -t ext3 /dev/sdX
" (compared to "mkfs -t ext3 /dev/sdX1
").
- Insert the drive before you turn on the computer. This way the BIOS will perform the first unsuccessful I/O operations instead of the GNU/Linux system.
- Install a kernel patch compensating for the bug in the device. See the references below.
- Write an udev rule performing the rescanning of the partition table automatic.
References
/By Mikael Q Kuisma