Penguins Unbound
Penguins Unbound > Past Meetings > 20071117 Unix Questions > How to Move a filesystem

How to Move a filesystem

Page last modified 16:36, 21 Dec 2011 by goeko
    Table of contents
    No headers

    This assumes the file system is a Linux ext3 file system

     

    Prepare the disk to be a file system.

    fdisk /dev/sda # partition the disk
    mke2fs /dev/sda1
    tune2fs -J /dev/sda1 # make the ext2 file system a ext3 file system
    mount /dev/sda1 /new_home
    
    

     

    You could also use cfdisk rather than fdisk to partition the disk.


    Move files

    cd /home
    find . -depth -print | cpio -padmv /new_home
    

     

    *** I have had problems moving large files ***


    You may be able to use the 'cp -a' comand.

     

    Install new filesystem

    For most Linux file systems you need to modify the /etc/fstab to have it use the new file system.  For the root file system you will also need to modify the boot configuration to tell the boot process

    example /etc/fstab

    # /etc/fstab: static file system information.
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    proc            /proc           proc    defaults        0       0
    # /dev/sda1
    UUID=a09531bf-f49f-46a8-b29b-96bc9ba22e14 /               ext3    defaults,errors=remount-ro 0       1
    # /dev/sda2
    UUID=906ec64c-6d9b-495d-9ea5-f88c13cf3756 none            swap    sw              0       0
    /dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec 0       0
    #
    10.2.0.75:/server       /server nfs     intr,noauto             0       0
    

     

    To find the UUID you can use tune2fs

    thesystem$ sudo tune2fs -l /dev/sda1
    tune2fs 1.40.2 (12-Jul-2007)
    Filesystem volume name:   <none>
    Last mounted on:          <not available>
    Filesystem UUID:          a09531bf-f49f-46a8-b29b-96bc9ba22e14
    Filesystem magic number:  0xEF53
    Filesystem revision #:    1 (dynamic)
    Filesystem features:      has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file
    Filesystem flags:         signed directory hash 
    Default mount options:    (none)
    Filesystem state:         clean
    Errors behavior:          Continue
    Filesystem OS type:       Linux
    Inode count:              3662848
    Block count:              7323624
    Reserved block count:     366181
    Free blocks:              6365412
    Free inodes:              3540948
    First block:              0
    Block size:               4096
    Fragment size:            4096
    Reserved GDT blocks:      1022
    Blocks per group:         32768
    Fragments per group:      32768
    Inodes per group:         16352
    Inode blocks per group:   511
    Filesystem created:       Fri Nov  9 11:12:55 2007
    Last mount time:          Sat Nov 17 10:02:05 2007
    Last write time:          Sat Nov 17 10:02:05 2007
    Mount count:              12
    Maximum mount count:      24
    Last checked:             Fri Nov  9 11:12:55 2007
    Check interval:           15552000 (6 months)
    Next check after:         Wed May  7 12:12:55 2008
    Reserved blocks uid:      0 (user root)
    Reserved blocks gid:      0 (group root)
    First inode:              11
    Inode size:               128
    Journal inode:            8
    Default directory hash:   tea
    Directory Hash Seed:      3a54a714-4936-4c2d-8519-7048d8c3e7ba
    Journal backup:           inode blocks
    

     

    To move the root file system you need to also tell the boot loader where the new filesystem is.  For a system using grub you need to edit the /boot/grub/menu.lst and modify the 'root=' to the new partition for your linux boot.

     

    sudo vi /boot/grub/menu.lst
    

     

    # menu.lst - See: grub(8), info grub, update-grub(8)
    #            grub-install(8), grub-floppy(8),
    #            grub-md5-crypt, /usr/share/doc/grub
    #            and /usr/share/doc/grub-doc/.
    
    ## default num
    # Set the default entry to the entry number NUM. Numbering starts from 0, and
    # the entry number 0 is the default if the command is not used.
    #
    # You can specify 'saved' instead of a number. In this case, the default entry
    # is the entry saved with the command 'savedefault'.
    # WARNING: If you are using dmraid do not use 'savedefault' or your
    # array will desync and will not let you boot your system.
    default         0
    
    ## timeout sec
    # Set a timeout, in SEC seconds, before automatically booting the default entry
    # (normally the first entry defined).
    timeout         3
    
    ## hiddenmenu
    # Hides the menu by default (press ESC to see the menu)
    hiddenmenu
    
    # Pretty colours
    #color cyan/blue white/blue
    
    ## password ['--md5'] passwd
    # If used in the first section of a menu file, disable all interactive editing
    # control (menu entry editor and command-line)  and entries protected by the
    # command 'lock'
    # e.g. password topsecret
    #      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
    # password topsecret
    
    #
    # examples
    #
    # title         Windows 95/98/NT/2000
    # root          (hd0,0)
    # makeactive
    # chainloader   +1
    #
    # title         Linux
    # root          (hd0,1)
    # kernel        /vmlinuz root=/dev/hda2 ro
    #
    
    
    #
    # Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
    
    ### BEGIN AUTOMAGIC KERNELS LIST
    ## lines between the AUTOMAGIC KERNELS LIST markers will be modified
    ## by the debian update-grub script except for the default options below
    
    ## DO NOT UNCOMMENT THEM, Just edit them to your needs
    
    ## ## Start Default Options ##
    ## default kernel options
    ## default kernel options for automagic boot options
    ## If you want special options for specific kernels use kopt_x_y_z
    ## where x.y.z is kernel version. Minor versions can be omitted.
    ## e.g. kopt=root=/dev/hda1 ro
    ##      kopt_2_6_8=root=/dev/hdc1 ro
    ##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
    # kopt=root=UUID=a09531bf-f49f-46a8-b29b-96bc9ba22e14 ro
    
    ## Setup crashdump menu entries
    ## e.g. crashdump=1
    # crashdump=0
    
    ## default grub root device
    ## e.g. groot=(hd0,0)
    # groot=(hd0,0)
    
    ## should update-grub create alternative automagic boot options
    ## e.g. alternative=true
    ##      alternative=false
    # alternative=true
    
    ## should update-grub lock alternative automagic boot options
    ## e.g. lockalternative=true
    ##      lockalternative=false
    # lockalternative=false
    
    ## additional options to use with the default boot option, but not with the
    ## alternatives
    ## e.g. defoptions=vga=791 resume=/dev/hda5
    # defoptions=quiet splash
    
    ## should update-grub lock old automagic boot options
    ## e.g. lockold=false
    ##      lockold=true
    # lockold=false
    
    ## Xen hypervisor options to use with the default Xen boot option
    ## Xen hypervisor options to use with the default Xen boot option
    # xenhopt=
    
    ## Xen Linux kernel options to use with the default Xen boot option
    # xenkopt=console=tty0
    
    ## altoption boot targets option
    ## multiple altoptions lines are allowed
    ## e.g. altoptions=(extra menu suffix) extra boot options
    ##      altoptions=(recovery) single
    # altoptions=(recovery mode) single
    
    ## controls how many kernels should be put into the menu.lst
    ## only counts the first occurence of a kernel, not the
    ## alternative kernel options
    ## e.g. howmany=all
    ##      howmany=7
    # howmany=all
    
    ## should update-grub create memtest86 boot option
    ## e.g. memtest86=true
    ##      memtest86=false
    # memtest86=true
    
    ## should update-grub adjust the value of the default booted system
    ## can be true or false
    # updatedefaultentry=false
    
    ## should update-grub add savedefault to the default options
    ## can be true or false
    # savedefault=false
    
    ## ## End Default Options ##
    
    title           Ubuntu 7.10, kernel 2.6.22-14-generic
    root            (hd0,0)
    kernel          /boot/vmlinuz-2.6.22-14-generic root=UUID=a09531bf-f49f-46a8-b29b-96bc9ba22e14 ro quiet splash
    initrd          /boot/initrd.img-2.6.22-14-generic
    quiet
    
    title           Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
    root            (hd0,0)
    kernel          /boot/vmlinuz-2.6.22-14-generic root=UUID=a09531bf-f49f-46a8-b29b-96bc9ba22e14 ro single
    initrd          /boot/initrd.img-2.6.22-14-generic
    
    title           Ubuntu 7.10, memtest86+
    
    title           Ubuntu 7.10, memtest86+
    root            (hd0,0)
    kernel          /boot/memtest86+.bin
    quiet
    
    ### END DEBIAN AUTOMAGIC KERNELS LIST
    

     

    *** Note the boot loader needs to be on the first drive. ****

    Powered by MindTouch Core