2012年1月29日 星期日

ubuntu 9.04 更改硬碟uuid的script


將以下script內容貼到/etc/init.d/rc中即可(**請去除行號**)
此script會在開機時自動執行並在執行後產生一個檔案供判斷式使用達到僅執行一次的功能


     1  #!/bin/bash
     2  if test ! -f /var/log/UUIDchangeOK
     3  then
     4 olduuid=$(vol_id /dev/sda1 |grep UUID= |sed 's/ID_FS_UUID=//g')     
     5 /sbin/tune2fs -U random /dev/sda1     
     6 newuuid=$(vol_id /dev/sda1 |grep UUID= |sed 's/ID_FS_UUID=//g')     
     7 cp /etc/fstab /etc/fstab.uuidbackup     
     8 cp /boot/grub/menu.lst /boot/grub/menu.lst.uuidbackup     
     9 sed -i "s/"$olduuid"/"$newuuid"/g" /etc/fstab      
    11 sed -i "s/"$olduuid"/"$newuuid"/g" /boot/grub/menu.lst
    12 echo 'UUID is changed!' >> /var/log/UUIDchangeOK 
    13 fi


註1以上script僅於ubuntu9.04測試成功過,其它版本請先測試後再套用
註2其中第2,3,13行是用於判斷當UUIDchangeOK 存在時就不再執行更改uuid的動作

沒有留言:

張貼留言