34

My hard drive crashed, so I'm using a Ubuntu live disk to access my files. But as I try to transfer them to my flash drive, it occasionally comes up with an error message which, when I view details, says:

Error splicing file: Input/output error.

How can I fix this?

31

The problem is because your destination disk (the disk to which you want to copy the file) is formatted with FAT32 (which has a file size limit of about 4GB. The solution is to format your destination disk to EXT3, EXT4, or NTFS (if you need windows compatibility).

  • 12
    This is almost always incorrect. – Marc.2377 Jul 3 '17 at 0:03
  • 3
    Trying to copy from a Mac formatted USB to NTFS drive, and I'm getting this error. Need a better answer on this. – Shayan Mar 18 '18 at 18:05
  • 1
    This is nonsense. I get this error copying from a windows application CD to my EXT4 hard disk. I also get an error for the same file when I try to install the software on a windows machine, so it's nothing whatever to do with the destination disk type. – Peter Flynn May 28 '19 at 21:46
  • 1
    This (reformatting the drive to NTFS) worked for me when I was trying to create a Windows 10 USB boot drive. – GenesRus Oct 22 '19 at 3:31
  • if you are using USB formatted with default FAT32 this would be the problem – Alex Punnen Jan 8 at 4:42
4

I would say that since the hard disk is failing, there is no way to solve the error. Depending on what is wrong with the hard disk, you may be able to try copying a file several times and maybe eventually get it correct. It would be advisable to move as quickly as possible and make sure to get your most important files first, because your hard disk may be getting worse and worse.

Sorry for the bad prognosis.

  • But in my case the error occurs no matter what the target disk is, so it's a problem with the source file on the CD, nothing to do with the target disk at all. – Peter Flynn May 28 '19 at 21:47
1

make sure your flash drive is in NTFS instead of FAT32.. then try copying the file over and over, as you can see an option asking if you want to replace the existing file on the flash drive saying "do you want to replace the existing file (e.g. pic001 size: 100KB) with (e.g. pic001 10.1MB)?" those two files are just the same but as you can see with a different file size . choose replace.. now go back to the folder of origin of those files now one by one determine their original file size and do the previous steps over and over again until those copied files have the file size the same as the original ones.. that worked for me well, it will take time though.. hope that helps

1

I feel this answer should be here for anyone who are experience failing disks.

The best way to approach a disk that is failing is to detach it carefully from power source and give it to the expensive guys. If you are impatient or feeling lucky, the next best thing is to create a copy of it on block level like this:

  1. Boot from live CD
  2. Create a mounting point: mkdir /mnt/mybigdisk
  3. Mount another big disk that has space for a single file that is the full size of the entire broken disk: mount /dev/mybigdisk /mnt/mybigdisk
  4. While the broken disk is NOT mounted, copy the partition(s) you want to keep like this: cat /dev/broken_partition1 > /mnt/mybigdisk/part1
  5. Un-mount and shutdown, removing broken disk (it should be kept un-attached and not rattled about for safe keeping).
  6. Boot into your favorite OS and mount your big disk again: mount /dev/mybigdisk /mnt/mybigdisk

  7. Create a mounting point for where you want to try to mount the copy of bad partition: /mnt/my_broken_partition_copy

  8. Proceed to mount the copy of the broken partition from file using loop device like so:
    mount -o loop /mnt/mybigdisk/part1 /mnt/my_broken_partition_copy

NOTE: If the file-system is too damaged, you may not be able to mount without repairing it.

NOTE: If you want to keep the whole disk, or if partition table is screwed, you can also do this on the entire disk. Just swap out /dev/broken_partition1 with /dev/broken_disk1 in instructions above (and mounting the loop device will be a little more complicated after).

NOTE: Even if the file-system is completely broken, you can still dig out data from this block-level copy using all kinds of un-delete/forensics software. Here is a list. That is why it is a good way to go about.

Why is this the next best thing?

Mencahical disks (I am assuming your disk is mechanical, if not it would porbably just not work at all) have a tiny arm inside that moves around to read the data from your disk. If it is somehow broken, then moving this arm might have adverse effects.

The least amount of movement is to read simply the whole disk linearly. That way the arm does not need to bounce around looking for blocks in random order.

Also, in case some areas are "more broken" than others, relying on the metadata of the file-system will not work. It will just retry, fail or do other things that may have adverse effects (move around the arm a lot).

Things to remember:

  1. You should not mount broken disk as it risks breaking the file system. If you MUST mount them, at least mount read-only.
  2. Keep broken disks attached to power as little as possible. Keep disk completely still, any sudden movement may make it worse.
  3. If it starts making bad noises, detach from power immediately.

I hope this is useful.

0

I was getting the same error messages. In my case not the disk was defect, nor the partition was wrong, etc.

The error in my case was a USB-3.0-Plug on the front panel of my PC-case which probably did not follow the specifications. (I think I should install a USB 3.0 frontpanel from a different vendor/make.)

As soon I connected the external HDD via the USB-3.0-Plug on the motherboard (backside of the PC case), things went fine!

In addition: Pay attention to Wireless/WLAN antennas in direct neighborhood to USB-3.0-Plug/Cables! Things are not so "discrete" with USB-3.0 than it have been with USB-2.0 ;-)

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