How to Fix Unable to resolve UUID Error in Linux

Modern distributions of Linux operating systems use UUID (Universally Unique Identifier) to uniquely identify hard drive or other data storage devices, in place of the conventional block names like /dev/sdb and /dev/hda1. It is due to the fact that UUID is never modified, even if the hard drive is switched. It is stable as compared to traditional methods, and prevents system failure and need of Linux Data Recovery solutions.

UUID is a 128-bit string that is used for making the Linux hard disk management simple. If you look at /etc/fstab file in your Linux computer, you find the entry in the following format, in place of the familiar hard drive designation:

UUID=62fa5eac-3df4-448d-a576-916dd5b432f2

In comparison to the traditional hard drive identification techniques, UUID is quite easy and reliable. For instance, in the traditional Linux systems, when you try to insert a new hard drive in a system that already has two hard drives, the drive is inserted between existing drives. At this point, ‘mount’ command attempts to mount the newly inserted drives as home.

In such situation, you need to log on as a single user for resolving the problem. However, when you log on, it gives you some error message and in the worst case scenario, you may encounter kernel panic. You can fix this issue using UUID.

UUID creates a unique entry for each hard disk volume in the Linux file system tree. Using UUID offers easy management of your Linux hard disks and creates less complication while adding or removing the disk.

Although, UUID is quite useful and it provides various advanced features, but it also has some faults. Sometimes, you may encounter the below error message when you attempt to access a UUID based Linux hard drive:

-Fsck 1.40.8 (13-Mar-200 fsck.ext3: Unable to resolve ‘UUID=d8533154-cef1-4cce-a823-9f3f74aab65b’-

After the above error message, you can not access the particular hard drive. All the data stored on your hard drive become inaccessible and you come across critical data loss. At this point, Linux Recovery Software come for your rescue.

The applications perform absolute Data recovery linux in most of the logical data loss situations, using advanced scanning algorithms. These tools enable you to perform Linux Recovery on your own as they have self-descriptive and simple graphical user interface. With read-only and non-destructive behavior, the applications are completely safe to use.

Stellar Phoenix Linux Data Recovery is the most comprehensive application for perfect recovery of all lost data. The software is compatible with all Linux distributions including SUSE, Debian, Red Hat, and Fedora. It recovers lost data from Ext4, Ext3, Ext2, FAT32, FAT16, and FAT12 file system volumes.

Process Timers in Linux Operating System

Clocks and timers have been a part of UNIX systems from their very inception. Standard UNIX (POSIX.1) has three clocks. One tells the time and is directly accessible to the user. The other two have other purposes, which don’t often concern the application programmer. There are 2 types of timers: one shot timers and repeating ones. The former only expires once and is used to signal a special event that needs to occur only once. Repeating timers go off at regular intervals and are used to schedule periodic events.

There is, basically, only one clock which application programs use in Linux. The operating system keeps track of current date and time by storing the number of seconds that have elapsed since, midnight January 1, 1970 UTC. This period is also called an epoch. This date is considered as the informal -birthday’ of the UNIX operating system. The time is stored in a signed long integer. The time function can be used to know how much time in seconds has elapsed since the start of the epoch. The prototype for time call is: #include time_t time (time_t) *tloc);

In all versions of UNIX the time() system call may be used to obtain the time of the day. This call is peculiar in that if given the address of a long integer as an argument, it places the time in that integer and returns it. If, however, a null pointer is passed, the time of day is just returned. The time_t is convenient for calculating differences between times, but difficult to print dates. Several routines are available to convert the long integer returned by time() into an ASCII date string. With the UNIX operating system, an ASCII date string is a string as shown below: Day Mon dd hh: mm : ss yyyy

The ctime() library function can be used to do the above conversion. Its prototype is:

#include Char *ctime (const time_t *clock) Example: #include #include Int main () { long now, time (); struct tm *today, *localtime (); time ( today=localtime ( printf (-today is: %d/%d/%d \n-, today->tm_mon + 1, today->tm_mday, today->tm_year); exit(0); }

This time function measures real time or wall clock time. In a multiprogramming environment, we may be more interested in the amount of time an individual process uses. This is called virtual time. The system call tiems returns information about the execution times of a process and its children. One shot timers: the most common example of these kind of timers would be the sleep call. #include Unsigned sleep(unsigned seconds);

When a process executes sleep it blocks for the number of seconds specified. The sleep function can be used as a sort of crude interval timer. Standard UNIX timers: the standard UNIX interval timers defined in the Berkeley and SR4(1170) versions of UNIX are as follows – ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF

POSIX Interval timers: the 1170 specification timers do not provide sufficient flexibility to deal with real time tasks. To be useful in real-time environments, we need more than just three timers. There needs to a greater time resolution and allowance for determining timer overruns.

All in all, UNIX timers can be used to find out the CPU time requirements of a program for benchmarking. Interval timers are also extremely important to allow scheduled tasking.

To know more, click here