Support Center > Search Results > SecureKnowledge Details
Fixing corrupted GRUB on Check Point appliances
Symptoms
  • The boot process is stuck prior to the Boot menu on "Loading" message.
  • Upon booting the server, a user may see a "Red Screen of Death" with the error "Illegal Opcode".
Solution

Important Notes:

Before doing the following solution, make sure you do NOT have a USB stick plugged into the chassis. In some cases,  Open Servers (for example, HP servers with RAID controllers that use the CCISS driver), will attempt to boot the USB instead of the Hard Drives if there is a USB stick plugged into the chassis.

Furthermore, note that on some Open Servers, the procedure involves additional steps. For example, on HP servers with a RAID controller that uses the CCISS driver, the disk devices in Gaia OS are named "/dev/cciss". When booting such a server from the Live CD, the disk devices will be named, as usual, "/dev/sd[x]". Therefore, the syntax in Step 9 would have to be "grub-install --recheck /dev/sda". This command will overwrite the "device.map" file with a new value. This in turn requires that the user update the "device.map" file to contain "/dev/cciss" before rebooting the server.
 


Do the following:

Notes:

  • For the procedure to work properly on systems with RAID, the Live CD / Live USB must be able to recognize and mount the RAID drives.
  • Contact Check Point Support if you need assistance.

Procedure:

  1. Boot from a Live CD, or a Live USB Key (in R76 and R77.x Gaia Emergendisk can be used).

  2. Run "fdisk -l" to identify the device name of your local disk (in most cases, it is "/dev/sda").

  3. Run the following commands to mount the local disk:

    1. # pvscan

    2. # vgscan

    3. # vgchange -a y

    4. # lvscan

    5. # mkdir /mnt/lclhd

    6. # mount /dev/mapper/vg_splat-lv_current  /mnt/lclhd


  4. Make sure that the local disk is indeed mounted by running "ls -l  /mnt/lclhd" and verifying that you see the local disk content.

  5. Complete the mounting process by running:

    1. # mount -o bind /proc  /mnt/lclhd/proc

    2. # mount -o bind /dev  /mnt/lclhd/dev

    3. # mount -o bind /sys  /mnt/lclhd/sys

    4. # chroot /mnt/lclhd  /bin/bash


  6. Mount the boot partition by running "mount <Device_Name>1  /boot".

    For example, if in Step 2 you saw that the local disk is /dev/sda, then run "mount /dev/sda1 /boot".

  7. Make sure that the /boot/grub/device.map file includes your local disk device name (for example, /dev/sda).

  8. Make sure that in the /boot/grub/grub.conf file, the line that starts with "#boot=" points to your local disk (for example, /dev/sda).

  9. Re-install the GRUB by running "grub-install  <Device_Name>".

    For example, if in Step 2 you saw that the local disk is /dev/sda, then run "grub-install /dev/sda".

  10. Reboot the appliance.

Give us Feedback
Please rate this document
[1=Worst,5=Best]
Comment