Ubuntu :: Accessing Drive When Fstab Contains UUID's / No Longer Pertinent To Any Hardware On System
Jul 8, 2011
I cloned one of my hard drives to another, using Acronis True Image Home 2011.In the process, of course, fstab got copied verbatim from old to new.I then, using a livecd on a flash drive, mounted the new drive, went into fstab and rewrote the UUID's, using the numbers I'd gotten previously by doing sudo blkid.Now, the new drive had the UUID's revealed by that command.Then, I used boot-repair, from yannubuntu, to make that drive bootable, since it wasn't after the cloning and after the fstab rewrite.The drive is bootable, and it's mountable from a flash drive, or from the old drive.
I can access files either way.the fstab file on the new drive still has the old numbers, yet when I ran boot-repair, it apparently changed the UUID's for sectors 1 and 5 on the new drive.fstab seems to be irrelevant at this point, yet everything I read about it indicates that it is not only relevant, but necessary.I don't understand how I can be accessing the drive when the fstab contains UUID's that are no longer pertinent to any hardware on my system.
is it safe to change fstab UUID entry for the system to /dev/sdb4? and after editing fstab, is there a script or command I need to run to release lock or update mount information? edit: I see not correct, and therefore not safe,but is there a format to tell linux to use /dev/sda1 instead of UUID= or label= .
I've had two hd's in my box forever. for more space and backup reasons. Well I have started running the Debian Squeeze distro since December. I've had many issues, some are still unresolved. but now I'm running into major headaches with the fstab. Specifically dealing with/wondering why UUID's are used instead of the old /dev/hd? I was a little annoyed when I tried Kubuntu to find /dev/sd? used instead of /dev/hd? but that was workable. But the UUID's are a nightmare. Here's my problem.
My main box is finally giving up the ghost. The mobo is dying. So in order to do some tests I took my hd bundle (my two hard drives with their cables) physically out of the box and temp installed them in a test box. I wanted to do some benchmark and other tests. I got all kinds of errors. I found that the system wasn't recognizing the UUID's listed in fstab. My concern is when the new mobo gets here next week I won't simply be able to plug the hd's in like I always have been and just let Linux reconfigure itself (Debian used to be good about this). I really don't want to have to clean reinstall if it's not needed.
So for this I have two questions. WHY developers decided to drop using /dev/hd? or even /dev/sd? ?
And is it possible to revert fstab's listings back to the old /dev/hd? settings. In debian fstab had lines commented out showing how each partition was listed in it's /dev/hd? status during install.
I'm getting really sick of all these archane changes in ALL aspects of linux that don't seem to have any good explaination or need.
I run a headless Ubuntu 8.04 server, which acts as a web, email and file server. I am sticking with 8.04 as it is a LTS release and will upgrade to the next LTS when it is released.
I have two external USB drives, that I need to mount at boot. I have been using /etc/fstab up until now, with the following entries:
Code:
However, as I gather from doing searches is quite common, occasionally I get an error during boot (causing the system to drop to a recovery shell) because the USB drives take time to wake up and the system hasn't found them by the time it reads /etc/fstab.
From doing searches, it seems there is nothing you can do to fstab to fix this, so you need to mount them using an rc.local script instead, using:
Code:
The problem is, as I have two USB drives, their /dev/sdxx location changes between boots. I thus want to use UUID codes as I do in fstab, however I haven't found anything about this.
Does anyone know how I can use the mount command and UUID to mount a drive in rc.local and what options I have to use the mount the drive with the same options that I am using in my fstab entry? Obvisouly, I can't refer back to fstab using the mount command, because then I will still get the boot error issue if they are listed in fstab. And there is no space internally for the USB drives as there is already two internal drives.
For reasons long and unique, I want to disable UUID in my recent Ubuntu 10.4 install, and use the old fashioned /dev/sda1 /dev/sdb3 etc. method. I had this "all fixed" under GRUB (pre-2) on Ubuntu 8.04 and it has served well and bug free for years. (Warning: I use old stable hardware - others may have disasters.) But with GRUB2, the task seems more complicated. (This guide me make the backups I haven't done since the fresh install 2 weeks ago.)
Is the following process complete, necessary, and accurate... Edit the file /etc/default/grub to remove the # in the line... #GRUB_DISABLE_LINUX_UUID="true" ... making sure to add the two " if missing .....
Copy nearly the entire /boot/grub/grub.cfg file into /etc/grub.d/40_custom and then... Comment out every line that says... search --no-floppy --fs-uuid --set (etc.)
Change every line that says... linux /boot/vmlinuz-2.x.yy-zz-generic root=UUID=(etc.) into... linux /boot/vmlinuz-2.x.yy-zz-generic root=/dev/sda1 Edit /etc/fstab and change every instance of UUID=(etc.) to the appropriate drive and partition e.g. /dev/sda1
edit /etc/initramfs-tools/conf.d/resume and change RESUME=UUID=(etc.) into RESUME=/dev/sda1 Run update-grub
Do all the above, every time I do a kernel upgrade. (Is it important to do all the above before or after rebooting for an upgrade?) Am I correct, succinct, and complete in the above process? Any mistakes? Any omissions?
Simple. UUID is apparently limited to a single UUID to be defined. Example UUID="DEB0-0001","3338-3164" separated with a comma is not working.
What could be the linux alternatives for pluging several UUID disks? How to bypass when there is a CF card and a reader box, since blkid gives no UUID ?
I realized that my understanding of UUIDs in Linux to specifying hard disk partitions may be erroneous.
The proverbial wisdom is that one should not use hard-coded device specifications in fstab and in the boot menu.lst, such as /dev/sda1 etc. The reason normally given is that if hard disk order changes or the order of partitions change, then the entries will be incorrect since they are hardcoded to partitions following a specific order.
So my understanding was that using hard disk labels, in the form of LABEL=xxxx, or UUIDs in the form of UUID=some-uuid, would prevent these problems when disk order or partition order changed.
I decided to avoid the use of LABEL in case I wanted to change the LABEL on a partition to make the names of partitions more easily identifiable. I then thought that UUID was ideal since it never changed for a partition no matter even if I moved that partition to another drive or added another hard drive and thus changes the order of hard drives on my computer. I essentially thought that once UUID was determined for a partition, it never changed but was somehow part of the partition in the hardware of my computer.
Then I became curious of how a UUID was determined. I did this because I often make backups of partitions on external SATA drives and wanted to make sure that somehow the backup would not duplicate whatever Linux considers the UUID of a partition and present a Linux distribution with two UUIDS which are somehow the same and therefore confuse the Linux distribution to the point that I could not use it. I am aware that UUID means a unique id, but I wanted to make sure I understand how that unique id is determined in Linux. This is especially true since the tool I use to make backups of an entire partition is a Windows application, and not a Linux application, and I wanted to make sure that the backup partition UUID would not duplicate that of an existing partition.
In my very brief research in how a UUID is generated under Linux it appears that it is not something that is part of the hardware of the partition itself but rather a number generated by some parameters of the partition, one of which is the partition order.
If it is, it means to me that if I move a partition from one place to another, even on the same hard drive, or to another hard drive, a Linux distribution will no longer find the partition based on the UUID. In that case it seems as if the UUID is subject to the same weakness as the device specification in fstab and menu.lst in that the order of a partition or the placement of a partition on a particular hard drive will cause the designation to no longer refer to the same partition. In which case it appears to me that only the LABEL parameter is not subject to this weakness and as long as I keep distinct labels for all partitions on my hard drive I could theoretically move them around at will and a Linux distribution will find them correctly. I am aware of course that my computer must always find the boot partition to be able to boot a Linux distribution, so moving Linux parttions where I want them is subject to the ability of my computer to find them from the MBR of my hard drives. But in the main it now appears to me that the best way to insure that moving partitions does not keep a Linux distribution from botting correctly is to use LABEL, and not UUID, in fstab and menu.lst, and of course to make sure that if I decide to change the LABEL of a partition that I must change its entry in fstab and possibly menu.lst before rebooting that distribution.
If I have been wrong in my latest surmises I would appreciate being corrected, as the information I found on UUIDs and how they are generated may not be correct. Also if there is more exact information on exactly how partition UUIDs are generated in Linux I would appreciating anyone pointing it out to me.
all of a sudden my pc decided no to start anymore.YOu might be aware of the ide/sata driver problem, well it was the problem. I reinstalled grub with suse dvd and it went ok. Pc working properly. But then i tried to fix this once for all and changed the fstab options from /dev-by-id to uuid (all partitions : swap, /, /home etc ).Is uuid a definite solution ?Why is the pc not able to start from there ?
Since i moved the partitions with uuid option in fstab and even after reinstalling grub the pc is not starting anymore . It gives me the boot menu (linux suse/failsafe) and then a black screen left with no keyboard nor mouse available.
when I load into Ubuntu 11.04 from my USB drive, why can't I access the files on my internal hard drive? I mount the drive but I cannot see any of the music, videos or documents contained on that drive (which is also an Ubuntu 11.04 drive). I was wondering so I could copy those files onto my external hard drive and reinstall since my Ubuntu crashed.
At first I thought it was the daily cron jobs, but it's been at it for like 3 or 4 hours. It's driving me crazy locking up my system. I suppose I should get off the computer anyway, no real reason to be on for so long.
The only things that look weird in system monitor is kwin, virtuoso-t and X seems to be higher CPU usage than it should. And CPU usage is 20-50% when I'm not doing anything. It was indexing my files.
I upgraded to 10.04 and everything went fine. I had a cd drive fail(wtf?) and took it out, now apparently everything is messed up as far as what is what (sda/b/c/d etc). I've got 2 hard drives, the OS drive was sdb2, with sdb3 /home and sdb1 an ntfs parition. sda1 is /media/disk. sdc0 was the cd drive.
On the next boot up, it was unhappy that something was wrong with the /home partition.(wtf is that, there is no /home "partition", it's /dev/sdb3!), so I was like.. ok just need to go into fstab and re-arrange things. I open up fstab and, most everything is commented out... so I guess 10.04 no longer uses fstab? What does it use now?
Here's my fstab:
Code:
I commented the last two so that the system would boot. Now it wants home on sda3 and media/disk on sdb1, which is fine, but when I change those in the commented section, obviously nothing happens. I would go through and make the file legible, if I knew that Ubuntu still even uses it.
I have an SiI hardware SATA RAID card, with two 500GB disks in mirrored RAID configuration. When I first plugged them in and set it up, things seemed to work ok, but on boot the raid controller told me that the RAID needed rebuilding, and it would happen automatically after POST. So I didn't worry about it, and the drive mounted fine, and it's been that way for years. I just went in and manually on-line rebuilt the RAID in the controller's BIOS, and now when I boot into Ubuntu, both disks show up in fdisk, but neither show up in /dev/disk/by-uuid. Am I missing something?
just done a update and something drastic has gone wrong i think the video card driver has been messed up as when i try to boot i get as far as the purple ubuntu screen with the 5 dots, but then nothing if i press a key i get a screen full of readout the most pertinent, i think, is
gnome desktop manager.........[fail]
and also something like
gdn recovery ......[fail]
i assumed that i could reinstall driver while booting from live cd, but this hasn't worked
Just added a DVD drive to a machine which had no drive before. When I boot I get the error about being unable to find the root drive by its UUID. If I unplug the DVD drive it boots as normal.
I'm guessing the root drive is getting a new name i.e /dev/sda2 instead of sda1 and thus a new UUID. How can I add the drive and fix the UUID issue in grub?
I have a Nook ebook reader and would like it to automatically open a certain application when I plug it in.As standard it just opens a nautilus file browser.I cannot find any settings that will let me associate a drive name/uuid with a certain application and google results came up saturated with how to make bootable USB drives.The only solution I actually found was to make a .autorun script in the root of the drive to start my application, but it still requires user interaction and is not ideal since I would like to implement this across several machines with different users/applications.
I have an mdadm linear array of 4 500GB drives. One of them had a few bad sectors, so I've dd'ed it to a new one (conv=noerror), and tried to start my array. Mdadm refuses, saying, "mdadm: /dev/md4 assembled from 3 drives - not enough to start the array."I had diffed different samples from different positions on the source and the mirror drive and confirmed they were identical. Checking the superblocks confirms three old drives still having their superblocks as expected, while the newly mirrored one has,
daniel@lnxsrv:~$ sudo mdadm --misc --examine /dev/sdf1 mdadm: No md superblock detected on /dev/sdf1. - and, daniel@lnxsrv:~$ sudo blkid /dev/sdf1
[code]....
As before. The mirror apparently has no uuid, but the original does. To confirm my sanity, I did,
How can the uuid not be the same when bit-for-bit from the very first byte of the drive, covering MFT etc., these two drives are identical according to diff?
Been doing some installations in a newly upgraded machine where I'm setting up two instances of 8.2 in slightly different configurations.Installing from netinst AMD64 DVD with firmware non-free. First installation goes smooth as then the second changes the UUID of the swap partition, meaning that the first then can't find it. To add insult to injury the second installation doesn't install GRUB in the MBR of the HDD.
Nothing different or special about the installation which is standard graphical with manual allocation of previously set up partitions. I don't touch the swap drive in the partitioner - just point to the correct partitions for / and /home as I want them. This is exactly as I've done before, many times.Setup asks me if I want to install GRUB in MBR and I answer "No" (because it would otherwise load in MBR of sda where I want it on sdb) then point to sdb in the next screen. Again really nothing different to what I've done dozens of times.
I upgraded to Lynx.When I plug in a USB drive, the drive icon no longer appears on my desktop.If I go to Places/Computer it shows up.And once I open it, the icon appears on the desktop.
I've just upgraded my wife's netbook to UNR 9.10. This seemed to go well and the netbook has been working fine since. Yesterday my daughter used the netbook with out any issues, but when my wife tried it halted during boot with:
Swap waiting for UUID: xxxxxxxxxxxxxx
After a couple of reboots it started working fine, but looking at /etc/fstab the entry for swap is different to the UUID shown in blkid Do I just update fstab with the UUID from blkid?
I've been away from Fedora for a long time, since FC3/4. I seem to recall that at that time grub in Fedora used the standard drive notation such as /dev/sdax instead of the current UUID. Can anyone tell me why this change was made?
Seems to me that using UUIDs presents severe problems if a drive has to be replaced as the restore media (we all backup, don't we?) would not work without modification. How does one determine trhe UUID of a new drive to change the restore media? Sounds like a chickenand-egg routine. There must be some way which I haven't run accross yet. I do notice through experimentation that the standard notation still works, at least in /etc/fstab.
I am very much new to Linux programming. My question is Is there any way to read UUID of a device or partition in linux programatically. Is there any c/c++ API for user-space applications. I found some commands "sudo vol_id --uuid /dev/sda1", "sudo blkid", "ls -l /dev/disk/by-uuid/". But all are commands which we need to run in terminal. But i need to achieve this from a c/c++ program. Can some one help me in this problem.(FYI: I need to read uuid of root filesystem ("/") where Linux has been installed.)
Installed ubuntu 10.4 on a formatted hard drive IDE. desktop has two other drives , one SATA drive and one SCSI drive. SCSI drive has windows.
Both windows and ubuntu load fine through GRUB2 etc
I had installed WUBI before on the SATA drive and then i uninstalled it.
problem is that when i log in to Ubuntu i see on fdisk
But i cannot access the SATA drive /dev/sda i tried mounting the drive but i get an error saying this is mounted as /dev/sdb5
How do i mount the SATA drive to get access to the drive ? i messed around with this drive when i was using WUBI. i.e. tried to mount it to recover grub but never got it working. Now somehow it seems that this old mounted drive is messing with my current Ubuntu install.
How to recover my fstab is shown below:
Changed the connect sequence in BIOS and mounted the volume using sudo mount /dev/sdb1 /media/sdb1
I purchased a new hard drive, plugged it in, formated it, edited fstab to auto mount it, and though it is mounting the drive, it won't allow me write privileges. I can read the drive, but I need root access to write to it. The drive giving me the issue is sdd1. The others, I have no problems with. I can read and write to those without a hitch.
I have an external HD attached to my desktop and setup as a shared resource. I want to be able to access it from my laptop as well. After much trying and drinking, I ended up with this in fstab:
//crackbox/seagate /seagate -o
then began giving me an error about not recognizing the file system type. I've been reading everything I can find and trying to get it to work, and have come up with very little. My fstab now contains this line instead of the above:
[code]...
Now, when I reload fstab with "sudo mount -a", I get this output:
I have Debian 5 XFCE currently installed on my old desktop. I cant open my flash drive, it doesnt pop up on the desktop, nor is it in the file manager. I read that you can add it to the fstab list but I dont know how to do it.
My flash drive shows up as sda1 in lsusb.
get my flash drives working, thats how I install packages.