Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
linux:lilo [2006/08/23 19:50]
a created
linux:lilo [2012/05/16 12:02] (current)
a old revision restored
Line 1: Line 1:
 ====== LILO ====== ====== LILO ======
 +
 +==== Partition Table Backup ====
 +Many of us are doing backups of all kinds of data: from regular files, databases, to full partitions or hard drives. What I have noticed that very few peoples even think about the partition table. Given the importance of the partition table I would suggest to have a backup of it, in case you will have a corrupted partition table, if you made a change by mistake or even if that gets deleted somehow (by mistake or intentionally). You still have the data on the disk but without recreating the correct partition table it will not be very easy to get the data back. Anyway this is very easy to do, so it is better to have it on hand, than regret that you have not done this when needed.
 +
 +We can get a quick look on all the existing partitions on all the available hard drives with fdisk using the -l switch without any other parameter:
 +
 +   fdisk -l
 +   Disk /dev/sda: 74.3 GB, 74355769344 bytes
 +   255 heads, 63 sectors/track, 9039 cylinders
 +   Units = cylinders of 16065 * 512 = 8225280 bytes
 +   
 +   Device Boot      Start         End      Blocks   Id  System
 +   /dev/sda1                        16      128488+  83  Linux
 +   /dev/sda2              17         259     1951897+  82  Linux swap / Solaris
 +   /dev/sda3             260        2083    14651280   83  Linux
 +   /dev/sda4            2084        9039    55874070   83  Linux
 +   
 +   Disk /dev/sdb: 73.4 GB, 73407820800 bytes
 +   255 heads, 63 sectors/track, 8924 cylinders
 +   Units = cylinders of 16065 * 512 = 8225280 bytes
 +   
 +   Device Boot      Start         End      Blocks   Id  System
 +   /dev/sdb1                      8924    71681998+  83  Linux
 +
 +If we add to the command line the particular device that corresponds to a hard disk, like /dev/sdb we get the same result only for that device:
 +
 +   fdisk -l /dev/sdb
 +
 +   Disk /dev/sdb: 73.4 GB, 73407820800 bytes
 +   255 heads, 63 sectors/track, 8924 cylinders
 +   Units = cylinders of 16065 * 512 = 8225280 bytes
 +   
 +   Device Boot      Start         End      Blocks   Id  System
 +   /dev/sdb1                      8924    71681998+  83  Linux
 +
 +Of course someone might use only this information to recreate the partition table by manually creating the same partitions with the same start/end blocks (in case you want to do that you just have to save the above output in a file so you have that information on hand when needed), but there is a simpler way using sfdisk:
 +
 +   sfdisk -d /dev/sda
 +   # partition table of /dev/sda
 +   unit: sectors
 +   
 +   /dev/sda1 : start=       63, size=   256977, Id=83
 +   /dev/sda2 : start=   257040, size=  3903795, Id=82
 +   /dev/sda3 : start=  4160835, size= 29302560, Id=83
 +   /dev/sda4 : start= 33463395, size=111748140, Id=83
 +
 +Using sfdisk with the -d option we can get a dump of the current partition table in a regular file, and if needed we can restore it from that file:
 +
 +   sfdisk -d /dev/sda > sda_table
 +
 +and to restore the partition table:
 +
 +   sfdisk /dev/sda < sda_table
 +
 +Regardless on the method used, having a backup of the partition table might be handy. ;)
 +
 +One more tip: another usage of sfdisk with -d is to create an identical partition table from another hard disk. In this example we are partitioning sdb with the exact same partitions as sda:
 +
 +   sfdisk -d /dev/sda | sfdisk /dev/sdb
 +
 +of course this can be handy when the hard drives are identical, in raid1 setups, etc. 
 +
  
 ==== Cleaning a MBR ==== ==== Cleaning a MBR ====
  
 +**Windows/DOS:**
 +   fdisk /mbr
 +
 +**Linux:**
    dd if=/dev/zero of=/dev/sdb bs=512 count=1    dd if=/dev/zero of=/dev/sdb bs=512 count=1
 +
 +===== LILO ERROR codes =====
 +
 +<note tip>LILO errors do not contain any message. When it loads, it shows the LILO word. Every letter of this word is printed after or before performing some particular actions. When LILO fails to load at any point, you can use the letters that are printed so far for identifying the problem. Below is the description of the words that are printed when LILO loads:</note>
 +
 +   * **L** : It means the first stage of boot loader is loaded in the main memory and initialized, but it can not load second stage of the boot loader. It generally indicates a hard drive geometry mismatch or media failure problem.
 +
 +   * **LI** : The first stage of boot loader has loaded second state of the boot loader, but it is unable to execute it. It can occur when you move /boot/boot.b without running map installer.
 +
 +   * **LIL** :It states that second stage of boot loader is started, but descriptor table can not be loaded from map file. It is generally caused due to media failure.
 +
 +   * **LIL-** : It denotes descriptor table corruption.
  
  
linux/lilo.1156355450.txt.gz ยท Last modified: 2009/05/25 00:34 (external edit)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 ipv6 ready