Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- efi_disk=$( df / | sed -n '2p' | awk '{print $1}' )
- efi="${efi_disk%s*}s1"
- time=$( date +'%u.%m.%y_%H-%M-%S' )
- efi_mp="/Volumes/EFI"
- extra="$efi_mp/Extra/"
- efi_chk=$( df /Volumes/EFI | sed -nE 's/.*% +([-A-F0-9]+)*/\1/p' )
- #EFI mount function
- mount_efi()
- {
- if [ -e $efi_mp ]
- then
- echo "Mounting EFI to $efi_mp"
- mount_hfs $efi $efi_mp > /dev/null
- efi_chk=$( df -h | grep $efi | sed -nE 's/.*% +([-A-F0-9]+)*/\1/p' )
- else
- mkdir $efi_mp
- echo "Mounting EFI to $efi_mp"
- mount_hfs $efi $efi_mp > /dev/null
- efi_chk=$( df -h | grep $efi | sed -nE 's/.*% +([-A-F0-9]+)*/\1/p' )
- fi
- }
- #EFI umount function
- umount_efi()
- {
- umount $efi_mp
- rmdir $efi_mp
- }
- #EFI choice function
- choice_efi()
- {
- echo "ATTENTION you already have EFI partition!"
- echo "If you continue all data on EFI partition has been erased"
- read -p "Are you realy want create EFI partition? (yes/no):" c
- if ["$c"= yes]
- then
- echo "\nCreating backup old EFI parttion"
- mkdir $HOME/Desktop/EFI.$time
- cp -r /Volumes/EFI/* $HOME/Desktop/EFI.$time
- echo "Backup created"
- umount_efi;
- echo "Format EFI partition"
- newfs_hfs -v EFI /dev/$efi
- mount_efi;
- else
- echo "\nFine ;)"
- exit 1
- fi
- }
- #Menu
- case "$1" in
- mount)
- if [ "$efi_chk" = "$efi_mp" ]
- then
- echo "EFI already mounted"
- else
- mount_efi;
- fi
- ;;
- umount)
- if [ "$efi_chk" = "$efi_mp" ]
- then
- umount_efi;
- else
- echo "EFI not mounted"
- fi
- ;;
- open)
- if [ "$efi_chk" = "$efi_mp" ]
- then
- open $efi_mp
- else
- mount_efi;
- open $efi_mp
- fi
- ;;
- fsck)
- if [ "$efi_chk" = "$efi_mp" ]
- then
- echo "Umount EFI partition before fsck"
- umount_efi;
- echo "Start fsck EFI partition"
- fsck_hfs $efi
- else
- echo "Start fsck EFI partition"
- fsck_hfs $efi
- fi
- ;;
- dsdt-install)
- #DSDT install function
- dsdt_install()
- {
- echo "\nCteating Backup DSDT.aml"
- mv $extra/DSDT.aml $extra/backup/DSDT_$time.aml
- echo "Backup has been created successfully\n"
- echo "Copy DSDT.aml file from your desktop to $extra"
- cp -r $HOME/Desktop/DSDT.aml $extra
- echo "All done, enjoy ;)\n"
- }
- if [ "$efi_chk" = "$efi_mp" ]
- then
- if [ -e $extra/backup ]
- then
- dsdt_install;
- else
- mkdir -p $extra/backup
- dsdt_install;
- fi
- else
- mount_efi;
- if [ -e $extra/backup ]
- then
- dsdt_install;
- else
- mkdir -p $extra/backup
- dsdt_install;
- fi
- fi
- ;;
- *)
- echo "EFI script by Bugagazavr (C) 2010"
- echo "Usage: sudo $0 { mount | dsdt-install | open | fsck | umount }"
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement