SLED or SLES with SATA drive will not boot after image

  • 7000134
  • 18-Apr-2008
  • 30-Apr-2012

Environment

Novell ZENworks 7 Linux Management - ZLM7
Novell ZENworks 7.2 Linux Management - ZLM7.2

Situation

SLED with SATA drive will not boot after image

SLES with SATA drive will not boot after Ghost Imaging

SLES with SATA drive will not boot after imaging

ERROR: "err:cannot find disk (SATA) drive"

Resolution

On the original machine where the image will be taken from, make sure that there is no reference to the disk by name. This is set under advanced options during the SLED installation.

Otherwise, an existing original machine where the image will be taken from can be modified in the following way in order to successfully take an image of it and have that image work on other machines with the same hardware:

1. Find out what partition the system is booting from:

Run this command to see what partition has a star next to it. This is an indication of what partition the system will be booting from.

Example:

fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 131 1052226 82 Linux swap / Solaris

/dev/sda2 132 4173 32467365 83 Linux

/dev/sda3 * 4174 4866 5566522+ 83 Linux

/dev/sda4 4867 9729 39062047+ f W95 Ext'd (LBA)

/dev/sda5 4867 5128 2104483+ 82 Linux swap / Solaris

/dev/sda6 5129 6434 10490413+ 83 Linux

/dev/sda7 6435 9729 26467056 83 Linux

In the above example, we can see that/dev/sda3is most likely the partition that the box is booting from.

The mount command is a second indication of what partition the box is booting from.

Example:

mount

/dev/sda3 on / type reiserfs (rw,acl,user_xattr)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

debugfs on /sys/kernel/debug type debugfs (rw)

udev on /dev type tmpfs (rw)

devpts on /dev/pts type devpts (rw,mode=0620,gid=5)

/dev/sda2 on /home type reiserfs (rw,acl,user_xattr)

securityfs on /sys/kernel/security type securityfs (rw)

novfs on /var/opt/novell/nclmnt type novfs (rw)

In the above example, we can confirm that/dev/sda3is the partition that the box is booting from because/dev/sda3is mounted on /

2. Modify the/boot/grub/menu.lstfile

On the original machine that will be used to take an image of, take a backup of the existing /boot/grub/menu.lst file, then modify the existing menu.lst file to NOT have a reference to the disk by name and serial number and instead point to a simple normal Linux reference.

As an example, any reference to

/dev/disk/by-id/scsi-SATA_ST3808110AS_4LR0SXEV-part3

should be

/dev/sda3

EXAMPLE: the places that will be changed are in bold and yellow.

Menu.lst file BEFORE:

# Modified by YaST2. Last modification on Mon Mar 315:25:12 UTC2008

default 0

timeout 8

##YaST - generic_mbr

gfxmenu (hd0,2)/boot/message

##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###

title Linux

root (hd0,2)

kernel /boot/vmlinuz-2.6.16.46-0.12-default root=/dev/disk/by-id/scsi-SATA_ST3808110AS_4LR0SXEV-part3 vga=0x31a resume=/dev/sda5 splash=silent showopts

initrd /boot/initrd-2.6.16.46-0.12-default

###Don't change this comment - YaST2 identifier: Original name: Linux (/dev/sda6)###

title Linux (/dev/sda6)

kernel (hd0,5)/boot/vmlinuz-2.6.16.46-0.12-default root=/dev/disk/by-id/scsi-SATA_ST3808110AS_4LR10GKN-part6 vga=0x31a resume=/dev/sda5 splash=silent showopts

initrd (hd0,5)/boot/initrd-2.6.16.46-0.12-default

###Don't change this comment - YaST2 identifier: Original name: failsafe###

title Failsafe

root (hd0,2)

kernel /boot/vmlinuz-2.6.16.46-0.12-default root=/dev/disk/by-id/scsi-SATA_ST3808110AS_4LR0SXEV-part3 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3

initrd /boot/initrd-2.6.16.46-0.12-default

===========================================

Menu.lst file AFTER:

# Modified by YaST2. Last modification on Mon Mar 315:25:12 UTC2008

default 0

timeout 8

##YaST - generic_mbr

gfxmenu (hd0,2)/boot/message

##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###

title Linux

root (hd0,2)

kernel /boot/vmlinuz-2.6.16.46-0.12-default root=/dev/sda3

vga=0x31a resume=/dev/sda5 splash=silent showopts

initrd /boot/initrd-2.6.16.46-0.12-default

###Don't change this comment - YaST2 identifier: Original name: Linux (/dev/sda6)###

title Linux (/dev/sda6)

kernel (hd0,5)/boot/vmlinuz-2.6.16.46-0.12-default root=/dev/disk/by-id/scsi-SATA_ST3808110AS_4LR10GKN-part6 vga=0x31a resume=/dev/sda5 splash=silent showopts

initrd (hd0,5)/boot/initrd-2.6.16.46-0.12-default

###Don't change this comment - YaST2 identifier: Original name: failsafe###

title Failsafe

root (hd0,2)

kernel /boot/vmlinuz-2.6.16.46-0.12-default root=/dev/sda3 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3

initrd /boot/initrd-2.6.16.46-0.12-default

3. Modify the /etc/fstab file.

On the machine that will be used to take an image, take a backup of the existing /etc/fstab file, then modify the existing /etc/fstab file to NOT have a reference to the disk by name and serial number and instead point to a simple normal linux reference.

As an example, any reference to

/dev/disk/by-id/scsi-SATA_ST3808110AS_4LR0SXEV-part3

should be

/dev/sda3



See these related TIDs: