Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a Silicon Power flash disk, and I'm wondering why I can open its files properly on a TV, but in win7 or opensuse 12.3 I can't even see the list of its files or format it. When I try to do something with the flash disk in win7, "Computer" (former MyComputer) freezes. Is there any way to repair it?

share|improve this question
    
Did you happen to format it specially for use with your TV? It could be possible that it has some sort of non-standard formatting. –  Josh R Sep 5 '13 at 4:33
    
@JoshR I didn't format it with TV .It cannot be that;since I cannot even format it with same TV (format fails) –  majidgeek Sep 5 '13 at 4:36
    
If you don't care about losing the files on the drive you could try re-formatting it. Open Disk Management (Start>Run>"diskmgmt.msc"), right click on the device if it shows up in the list. Make sure you're selecting the correct disk and choose to format. –  Josh R Sep 5 '13 at 4:43
    
@JoshR I cannot do it ,disk management don't show my flash in list of disks –  majidgeek Sep 5 '13 at 5:19
    
If you can try it in another computer that would help. Unfortunately if it's not showing up at all in disk management, I fear there might be something wrong with the thumb drive. –  Josh R Sep 5 '13 at 5:20

1 Answer 1

up vote 3 down vote accepted
+50

A lot of linux formatting utilities (like parted/GParted) don't touch the boot sector(s) of a disk when creating new partitions. I've had problems similar to yours with disks that were readable by some devices, but not others, and they were caused by broken/incompatible boot sectors. To clear the boot sector and re-create the disk's volumes, try the following:

  1. In Linux, insert the disk before powering on the computer/VM. This can sometimes prevent some rare issues with device detection.
  2. Once the Linux system boots, figure out the raw device path of the drive. One of the methods detailed on this SuperUser question should get you there. You'll end up with a device path like /dev/sda1 or /dev/usba2 or similar.
    • If the device lookup returned any sort of partition number, (i.e. the raw device path ends with a number), remove that number from the path you'll use for the following steps:
  3. On your linux terminal, substitute the raw device name into this command and run it: sudo dd if=/dev/zero of=<your device name here> bs=512 count=100.
    • The count=100 is overkill, count=1 should be sufficient, but there are a very few systems out there that can make assumptions about the boot record configuration of a device regardless of the contents of the first 512 bytes.
  4. When that command finishes, remove the device (safe ejection is not necessary; it doesn't have any usable data on it anyway).
  5. Plug the device into your PC/windows computer (presumably this is the machine that you want to transfer files from).
  6. Open the Disk Management Utility in Windows.
  7. Hopefully, the DMU will open without a freeze. If it does, try to locate and initialize the disk. Use the MBR partitioning scheme as it is much more compatible. Do not create it as a Dynamic Disk.
  8. If you make it to this point, you should be able to use the disk normally, and transfer files to/from it. If that works, try plugging it into the TV. If it works in the TV, but afterwards will not work with the computer, the problem is with how the TV talks to USB drives.

Hope this helps!

share|improve this answer
    
I tried your solution but DMU freeze again! –  majidgeek Sep 9 '13 at 4:29
    
If the PC freezes when trying to read info from a zeroed flash drive, then either the PC's USB hardware/software is bad, or the USB device is partially (hardware) broken in such a way that it can't communicate with the PC. –  Zac B Sep 9 '13 at 15:12
    
it seems my flash not zeroed yet! when I plug it in opensuse, it shows two devices:sdb1&sdb2;I used your command as sudo dd if=/dev/zero of=sdb1 bs=512 count=100 & sudo dd if=/dev/zero of=sdb2 bs=512 count=100 but after processing ,no thing changed. –  majidgeek Sep 9 '13 at 16:01
    
That's not the correct command; you need to truncate the partition number, and write directly to the main device, as mentioned in the bullet under Step 2. Two commands are not necessary. You should also use the absolute path to the device (/dev/sdb in that example, but always verify that the device path corresponds to the right device first, otherwise you could zero an unrelated disk). –  Zac B Sep 9 '13 at 16:41

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.