kotel wrote on 2025-01-23, 07:48:
That worked. Although the partition shows there's 1.38MB used, but it doesn't show the files. The command "cat /dev/sdb > hdd.bin" (yes I did double check where's the partition for this seagate) gives me permission denied on mint 17.3.
There's probably some udev rules that can be made to allow user to access the device(s) directly but I just use root or sudo for these commands. I'm old-fashioned and lazy like that. On most *nix systems the /dev stuff is not even readable for normal users.
Once you have the file it can be compressed and archived for later use (and copies made), no need to trouble the original HDD anymore. That's the nice thing about it. fdisk will work on the file if you run it "fdisk hdd.bin" just as if it was a block device. Usually mounting the partitions requires knowing where they start, so if it is PC-compatible partition table that fdisk can show just write down the starting LBA/sector of each partition. After that it can be mounted with "mount -o ro,offset=X hdd.bin /mnt/hdd" where X is the LBA/sector * 512 (or whatever the actual block size is in case of SCSI HDDs).
If the partition seems empty but not all space is available then perhaps it was not cleanly shut down and has bogus cluster links in FAT area. fsck should take care of it if you need it repaired, though obviously there is little reason to repair the archived image, unless it prevents you from reading any files on it. If you are sure the drive never worked with Win9x, just DOS, it's probably better to use -t msdos as mount option as well, because otherwise the default is vfat which also supports long names and access timestamps. Note some "DOS" partitions are not MS-DOS and might not be readable in pure DOS on a PC, even if Linux can deal with those.