How to mount an external HDD?

  • I have Ubuntu Linux 12.04 version the latest right now.I want to mount an external HDD NTFS 1TB.I have followed many guides but still no success.The error I'm getting is this:

    Failed to read last sector (1953523119): Invalid argument
    HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
       or it was not setup correctly (e.g. by not using mdadm --build ...),
       or a wrong device is tried to be mounted,
       or the partition table is corrupt (partition is smaller than NTFS),
       or the NTFS boot sector is corrupt (NTFS size is not valid).
    Failed to mount '/dev/sdb1': Invalid argument
    The device '/dev/sdb1' doesn't seem to have a valid NTFS.
    Maybe the wrong device is used? Or the whole disk instead of a
    partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
    Using Storage Device MAnager i get this error:Error mounting: mount exited with exit code 1: helper failed with:
    mount: only root can mount /dev/sdb1 on /media/Skliros_Diskos {external disk name} 
    

    When I use sudo fdisk -l, this is the output:

    Disk /dev/sda: 320.1 GB, 320072933376 bytes
    255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000e0bc6
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048   618854399   309426176   83  Linux
    /dev/sda2       618856446   625141759     3142657    5  Extended
    /dev/sda5       618856448   625141759     3142656   82  Linux swap / Solaris
    
    Disk /dev/sdb: 1000.2 GB, 1000202043392 bytes
    255 heads, 63 sectors/track, 121600 cylinders, total 1953519616 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0002093a
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048  1953525167   976761560    7  HPFS/NTFS/exFAT
    

    Is it a NTFS5 volume?

    Its file system is NTFS

    what is the output of 'fdisk -l'? and which command are you using to mount the HDD?

    I edited the question now it has the output you wanted

  • Try to see if there is an entry in the disk list with

    sudo fdisk -l  
    

    Then try mounting it with

    sudo mount -t ntfs /dev/sdb1 /media
    

    To find the correct /dev/sdb location for your external drive look at the result of sudo fdisk -l.

    More detailed please i am an absolute beginner on this OS.But i will try these instructions

    I tried and i get the same error

    for partitioned drives, use `sudo parted -l` instead of `sudo fdisk -l`

  • Step 1: Create a folder

    sudo mkdir /media/Skliros_Diskos
    

    Step 2: Mount NTFS filesystem

    sudo mount -t ntfs-3g /dev/sdb1 /media/Skliros_Diskos
    

    Please note the spaces. As per your comment on the question, you did not add spaces in the command.

    You should not mount it on the /media directory, since the system might use it thus might not allow you to umount the disk easily. Another reason is, when you plug-in another external drive, Ubuntu will automatically create a directory in the /media and mount the system on that directory, which could probably have some side effects, as the /media directory would be your external drive.

    Once mounted, you can access it normally through Nautilus (The default Ubuntu GUI file browser). It should be listed in the list on the left side, if it isn't, press Ctrl+L and type /media/Skliros_Diskos.

    Or you access it in the terminal with cd /media/Skliros_Diskos.

    I used the command of step 2 and i get the same error.I copy/pasted it to be sure.I didn't made it on mounting it so i can't follow the next steps

    @Slash Are you sure your NTFS volume isn't corrupted? `sudo ntfsck /dev/sdb1`, this command will scan an NTFS volume for errors, are there any?

    i get the the same error with before

    When i use this command "sudo ntfsck /dev/sdb1 " I get the same error with this command "sudo mount -t ntfs-3g /dev/sdb1 /media/Skliros_Diskos"

    I tried to mount the volume of skliros_diskos from disk utility i get another error which is this:Error mounting: mount exited with exit code 1: helper failed with: Unprivileged user can not mount NTFS block devices using the external FUSE library. Either mount the volume as root, or rebuild NTFS-3G with integrated FUSE support and make it setuid root. Please see more information at http://tuxera.com/community/ntfs-3g-faq/#unprivileged

    Come on i have submitted so much info.There must be a solution

    @Slash I understand your rush, I really do, but please you have to be patient a bit. Try running `sudo apt-get update` and `sudo apt-get install --reinstall ntfs-3g` and the try remounting the volume, after it's done reinstalling. If that also fails, try mounting with the following command: `sudo mount -t ntfs-3g -o umask=000,user /dev/sdb1 /media/Skliros_Diskos`

    i tried and done whatever you said .. still it isn't working

    In this case, I believe your NTFS might be damaged. Do you have access to a Windows installation, where you can try plug-in the NTFS drive on it? Whether it works or not, you should do a file system check on the drive.

    Tell me the correct way please on how to do that

    I do not have access to any Windows installation near me, and it's been a while since I accessed one. But I'll help you with what I can remember. After you plug it into a Windows machine, open the `My Computer` folder, locate your external drive and right click it. After that, click on `Properties`. There will be a `Check disk` button or something in that meaning in the properties page, click it and a small window will appear. Tick the `Automatically fix errors` checkbox and click OK. After error checking is done, try mounting it again on Ubuntu.

    Its okay i found a software called "CheckDisk" which allow me to copy data from my external HDD i don't know what wrong with this HDD but i got what i wanted done thanks for all

    TestDisk i meant

    @Slash If you found an answer for your problem, please do post what you did by answering your own question and marking it as the correct answer so maybe it would help future visitors.

    Actually it isn't exactly the answer in the problem.I found a program which is called "TestDisk" i followed a guide on youtube .its pretty simple .So with it i copied some files i wanted from the HDD thats all

    I wish people would have read this guy's comments. His problem and solution are stated when he says "Unprivileged user can not mount NTFS block devices using the external FUSE library. Either mount the volume as root, or rebuild NTFS-3G with integrated FUSE support and make it setuid root. " Anyway the answers to this question were helpful to me solving my own problem.

    @Jistanidiot It would be great if you can input your own answer on how to do it!

    @Dan as I pointed out "Either mount the volume as root, or rebuild NTFS-3G with integrated FUSE support and make it setuid root."

  • I find more cosy the use of lsblk instead of fdisk -l even because recently it is not always needed to specify the file system type a priory. Moreover I want to mimic the behaviour of the mounting through Device Notifier with the command line. Tested on Kubuntu 14.04 LTS.

    Step 1: Individuate from where

    To individuate where is I prefer to use lsblk (from util-linux package)

    lsblk 
    

    That gives something like

     NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0 931.5G  0 disk 
    ├─sda1   8:1    0 925.5G  0 part /
    ├─sda2   8:2    0     1K  0 part 
    └─sda5   8:5    0     6G  0 part [SWAP]
    
    sdb      8:16   0   1.8T  0 disk 
    └─sdb1   8:17   0   1.8T  0 part 
    

    In this case is sdb1, it is not mounted (no MOUNTPOINT) and if I unplug the external HD I will not see anymore this entry.

    Step 2: mount

    If I want to mount it in an existing directory /Full/path/ and my user id uid =1000 and my group id is gid=1000 I can use directly

    sudo mount  /dev/sdb1 /Full/path/ -o uid=1000,gid=1000,utf8,dmask=027,fmask=137
    

    That gives me the same mounting option that I have when I mount it graphically through the Device Notifier

    Notes:

    • You can see your uid:gid with grep $USER /etc/passwd : are respectively the 3rd and the 4th field separated by :
    • man mount for all the mount options

License under CC-BY-SA with attribution


Content dated before 6/26/2020 9:53 AM