Moving boot disk to a different target or controller

I had a need for a system that can boot two different versions of Solaris from two different disks. Both disks were on target 0 when Solaris was installed on them. But when I moved one of the disks to be target 1, obviously there was going to be a problem with booting from that disk.

There is a simple way to get the disk booting from the new target. Here are the steps to take:

  1. Boot the system off a DVD or CD or jumpstart server in single user mode
  2. Mount the root filesystem on the disk in question and edit vfstab to reflect the new controller/target setup

The last step is to regenerate /etc/path_to_inst and device links in /dev. Searching the internet for some unrelated info I found out devfsadm has an undocumented -p switch that recreates path_to_inst file. The -r switch specifies location of root filesystem.

bash-3.00# devfsadm -r /mnt -p /mnt/etc/path_to_inst

Now you can reboot and the drive should be bootable again.

Posted on June 18, 2008 at 18:11 by somedude · Permalink
In: solaris, solaris tips, solaris utilities, storage

2 Responses

Subscribe to comments via RSS

  1. Written by unixman
    on September 1, 2013 at 19:00
    Reply · Permalink

    Don’t you have to update a boot-device and/or create an alias for the new boot location in OBP?

    • Written by somedude
      on September 2, 2013 at 08:39
      Reply · Permalink

      It’s been a while. If I remember right the machine had Solaris 8 installed, then disk was swapped out and Solaris 10 was installed on another disk. Then both disks were put in the same machine. So disk2 would be unbootable and this was the fix.

      You should not have to update OBP as disk* aliases should be pointing to correct disks. Of course, you would need to say ‘boot diskX’ to boot specific Solaris version. Somedude

Subscribe to comments via RSS

Leave a Reply