Member Avatar for Member #119018

I have an Asus Eee 900A with Ubuntu NBR 9.04 installed. When I installed the system, I made one partition on the internal SSD and mounted as /. I left 32 MB for swap space. I mounted the /home directory to a 16GB SD card installed in the memory card reader.

Although not exact, here is basically my /etc/fstab file:
/dev/sda1 / ext4 defaults 0 1
/dev/sdb1 /home ext4 defaults 0 0

But when I start up, I get the following error message:
Your home directory is listed as: '/home/tim' but it does not appears to exist. Do you want to log in with the /(root) directory as your home directory? It is unlikely anything will work unless you use a failsafe session.

If I log in with a fail safe session, and then edit my fstab file, or even just open it without a modification, and then restart the computer (without powering down) then it will work. But if I power the computer down, it goes back to the error message. When I am able to get the system started, I can see that the /home directory is in fact where it belongs and it's all there.

Dani AI

Generated

As discovered, the behaviour (desktop login saying /home/tim doesn't exist, but a later reboot/session shows the home) strongly points to the home partition not being mounted early enough during a cold boot. That can happen when an SD card in a built‑in reader is not fully initialised when init tries to mount fstab entries, or when device names change between boots. The temporary workaround of editing fstab or doing a warm reboot is a classic sign of a timing/initialisation problem rather than a pure permission or user‑account issue.

Useful diagnostic commands (run from a shell) to confirm what failed at boot and why:

blkid
lsblk -f
mount -a -v
dmesg | egrep -i 'mmc|sd[b-z]|mount'
# on systemd systems:
journalctl -b | egrep -i 'mount|home|sd'

Look for mount errors, wrong UUID, filesystem errors, or messages that the card reader device appeared after mount attempts.

Practical fixes (pick the one that fits the system):

  • Prefer identifying the partition by UUID (verify with blkid) rather than by /dev/sdX. On modern systemd systems add automount/timeout so mount waits for the device:
    UUID=<the-uuid> /home ext4 defaults,nofail,x-systemd.automount,x-systemd.device-timeout=10 0 2
  • On older non‑systemd systems delay the mount until hardware is ready: perform the mount from a startup script (for example, call mount /home from /etc/rc.local or an init script that runs before the display manager).
  • If reliability is critical, keep the account home on the internal SSD and move only large media folders to the SD card (replace them with symlinks). This avoids login failures while still using the card for bulk storage.

Also check filesystem type and ownership on the card (permissions must match the user if the FS supports them; vfat/exfat will not). If fsck reports problems, repair the filesystem before relying on it for /home.

Member Avatar for Member #119018

I did find a solution to my problem in between posting and now as I continued my troubleshooting. In the memory card, under the root directory was the folder "tim". What I did was create a new folder "home" and then move "tim" under "home". This seems to have corrected the issue, the system now logs in with all of my settings each time. I suppose alternatively I could have also changed my HOME environment variable to point just to "tim" instead of "home/tim", probably would have had the same effect.

Member Avatar for Member #119018

Looks Like I Spoke Too Soon Yesterday As I Woke Up This Morning And Experienced Exactly The Same Problem. I Checked The File System On The Memory Card And Everything Is There. I Changed Back To The UUID In The fstab But There Was No Change. Tried Changing The HOME Environment Variale But Also Got The Same Results..........

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.