21.15 Converting a root Ext2 File System to Ext3


Before performing a root file system conversion, make a full system backup from which you can restore its state.

To convert a root ext2 file system to ext3:

  1. Use the following command with the block device corresponding to the root file system:

    # tune2fs -j device

    The command adds an ext3 journal to the file system as the file /.journal.

  2. Run the mount command to determine the device that is currently mounted as the root file system.

    In the following example, the root file system corresponds to the disk partition /dev/sda2:

    # mount
    /dev/sda2 on / type ext2 (rw)

  3. Shut down the system.

  4. Boot the system from an Oracle Linux boot CD, DVD or ISO. You can download the ISO from https://edelivery.oracle.com/linux.

  5. From the installation menu, select Rescue Installed System. When prompted, choose a language and keyboard, select Local CD/DVD as the installation media, select No to bypass starting the network interface, and select Skip to bypass selecting a rescue environment.

  6. Select Start shell to obtain a bash shell prompt (bash-4.1#) at the bottom of the screen.

  7. If the existing root file system is configured as an LVM volume, use the following command to start the volume group (for example, vg_host01):

    bash-4.1# lvchange -ay vg_host01

  8. Use fsck.ext3 to check the file system.

    bash-4.1# fsck.ext3 -f device

    In the previous example, device is the root file system device (for example, /dev/sda2).

    The command moves the .journal file to the journal inode.

  9. Create a mount point (/mnt1) and mount the converted root file system on that mount point, for example:

    bash-4.1# mkdir /mnt1
    bash-4.1# mount -t ext3 device /mnt1
  10. Using a text editor, edit the /mnt1/etc/fstab file and change the file system type of the root file system to ext3, for example:

    /dev/sda2        /       ext3    defaults  1 1
  11. Create the file .autorelabel in the root of the mounted file system.

    bash-4.1# touch /mnt1/.autorelabel

    The presence of the .autorelabel file in / instructs SELinux to recreate the security attributes of all files on the file system.


    If you do not create the .autorelabel file, you might not be able to boot the system successfully. If you forget to create the file and the reboot fails, either disable SELinux temporarily by specifying selinux=0 to the kernel boot parameters, or run SELinux in permissive mode by specifying enforcing=0.

  12. Unmount the converted root file system.

    bash-4.1# umount /mnt1

  13. Remove the boot CD, DVD, or ISO, and reboot the system.

For more information, see the tune2fs(8) manual page.