Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.85 KB | None | 0 0
  1. #!/bin/bash
  2. efi_disk=$( df / | sed -n '2p' | awk '{print $1}' )
  3. efi="${efi_disk%s*}s1"
  4. time=$( date +'%u.%m.%y_%H-%M-%S' )
  5. efi_mp="/Volumes/EFI"
  6. extra="$efi_mp/Extra/"
  7. efi_chk=$( df /Volumes/EFI | sed -nE 's/.*% +([-A-F0-9]+)*/\1/p' )
  8.  
  9. #EFI mount function
  10. mount_efi()
  11. {
  12.     if [ -e $efi_mp ]
  13.     then
  14.             echo "Mounting EFI to $efi_mp"
  15.                 mount_hfs $efi $efi_mp > /dev/null
  16.         efi_chk=$( df -h | grep $efi | sed -nE 's/.*% +([-A-F0-9]+)*/\1/p' )
  17.      else
  18.                 mkdir $efi_mp
  19.                 echo "Mounting EFI to $efi_mp"
  20.                 mount_hfs $efi $efi_mp > /dev/null
  21.         efi_chk=$( df -h | grep $efi | sed -nE 's/.*% +([-A-F0-9]+)*/\1/p' )
  22.      fi
  23. }
  24.  
  25. #EFI umount function
  26. umount_efi()
  27. {
  28.     umount $efi_mp
  29.         rmdir $efi_mp
  30. }                                          
  31.  
  32. #EFI choice function
  33. choice_efi()
  34. {
  35.     echo "ATTENTION you already have EFI partition!"
  36.         echo "If you continue all data on EFI partition has been erased"
  37.         read -p "Are you realy want create EFI partition? (yes/no):" c
  38.         if ["$c"= yes]
  39.     then
  40.             echo "\nCreating backup old EFI parttion"
  41.                 mkdir $HOME/Desktop/EFI.$time
  42.                 cp -r /Volumes/EFI/* $HOME/Desktop/EFI.$time
  43.                 echo "Backup created"
  44.                 umount_efi;
  45.                 echo "Format EFI partition"
  46.                 newfs_hfs -v EFI /dev/$efi
  47.                 mount_efi;
  48.     else
  49.             echo "\nFine ;)"
  50.                 exit 1
  51.     fi
  52. }
  53.  
  54.  
  55. #Menu
  56. case "$1" in
  57. mount)
  58.     if [ "$efi_chk" = "$efi_mp" ]
  59.     then
  60.         echo "EFI already mounted"
  61.     else
  62.         mount_efi;
  63.     fi
  64.     ;;
  65. umount)
  66.     if [ "$efi_chk" = "$efi_mp" ]
  67.     then
  68.         umount_efi;
  69.     else
  70.         echo "EFI not mounted"
  71.     fi
  72.     ;;
  73. open)
  74.     if [ "$efi_chk" = "$efi_mp" ]
  75.     then
  76.         open $efi_mp
  77.     else
  78.         mount_efi;
  79.         open $efi_mp
  80.     fi
  81.     ;;
  82. fsck)
  83.     if [ "$efi_chk" = "$efi_mp" ]
  84.     then
  85.         echo "Umount EFI partition before fsck"
  86.         umount_efi;
  87.         echo "Start fsck EFI partition"
  88.         fsck_hfs $efi
  89.     else
  90.         echo "Start fsck EFI partition"
  91.         fsck_hfs $efi
  92.     fi
  93.     ;;
  94. dsdt-install)
  95.    
  96.     #DSDT install function
  97.     dsdt_install()
  98.     {
  99.                 echo "\nCteating Backup DSDT.aml"
  100.                 mv $extra/DSDT.aml $extra/backup/DSDT_$time.aml
  101.                 echo "Backup has been created successfully\n"
  102.                 echo "Copy DSDT.aml file from your desktop to $extra"
  103.                 cp -r $HOME/Desktop/DSDT.aml $extra
  104.                 echo "All done, enjoy ;)\n"
  105.     }
  106.  
  107.     if [ "$efi_chk" = "$efi_mp" ]
  108.     then
  109.         if [ -e $extra/backup ]
  110.         then
  111.             dsdt_install;
  112.         else
  113.             mkdir -p $extra/backup
  114.             dsdt_install;
  115.         fi
  116.     else
  117.         mount_efi;
  118.         if [ -e $extra/backup ]
  119.         then
  120.             dsdt_install;
  121.         else
  122.             mkdir -p $extra/backup
  123.             dsdt_install;
  124.         fi
  125.     fi
  126.     ;;
  127. *)
  128.     echo "EFI script by Bugagazavr (C) 2010"
  129.     echo "Usage: sudo $0 { mount | dsdt-install | open | fsck | umount }"
  130.     ;;
  131. esac
  132. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement