https://github.com/ChrisTitusTech/ArchMatic/blob/master/preinstall.sh # disk prep sgdisk -Z ${DISK} # zap all on disk sgdisk -a 2048 -o ${DISK} # new gpt disk 2048 alignment # create partitions sgdisk -n 1:0:+1000M ${DISK} # partition 1 (UEFI SYS), default start block, 512MB sgdisk -n 2:0:0 ${DISK} # partition 2 (Root), default start, remaining # set partition types sgdisk -t 1:ef00 ${DISK} sgdisk -t 2:8300 ${DISK} # label partitions sgdisk -c 1:"UEFISYS" ${DISK} sgdisk -c 2:"ROOT" ${DISK} https://github.com/manjaro/manjaro-tools-livecd https://github.com/manjaro/manjaro-tools-livecd/tree/master/livecd-cli-installer/opt/livecd manjaro-livecd-cli-installer /opt/livecd/setup-0.9 autoprepare(){ ... # we assume a /dev/hdX format (or /dev/sdX) if [[ "${GUIDPARAMETER}" == "yes" ]]; then PART_ROOT="${DEVICE}5" # GPT (GUID) is supported only by 'parted' or 'sgdisk' printk off DIALOG --infobox "Partitioning ${DEVICE}" 0 0 # clean partition table to avoid issues! sgdisk --zap ${DEVICE} &>/dev/null # clear all magic strings/signatures - mdadm, lvm, partition tables etc. dd if=/dev/zero of=${DEVICE} bs=512 count=2048 &>/dev/null wipefs -a ${DEVICE} &>/dev/null # create fresh GPT sgdisk --clear ${DEVICE} &>/dev/null # create actual partitions sgdisk --set-alignment="2048" --new=1:1M:+${GPT_BIOS_GRUB_PART_SIZE}M --typecode=1:EF02 --change-name=1:BIOS_GRUB ${DEVICE} > ${LOG} sgdisk --set-alignment="2048" --new=2:+1M:+${UEFISYS_PART_SIZE}M --typecode=2:EF00 --change-name=2:UEFI_SYSTEM ${DEVICE} > ${LOG} sgdisk --set-alignment="2048" --new=3:+1M:+${BOOT_PART_SIZE}M --typecode=3:8300 --attributes=3:set:2 --change-name=3:MANJARO_BOOT ${DEVICE} > ${LOG} sgdisk --set-alignment="2048" --new=4:+1M:+${SWAP_PART_SIZE}M --typecode=4:8200 --change-name=4:MANJARO_SWAP ${DEVICE} > ${LOG} sgdisk --set-alignment="2048" --new=5:+1M:+${ROOT_PART_SIZE}M --typecode=5:8300 --change-name=5:MANJARO_ROOT ${DEVICE} > ${LOG} sgdisk --set-alignment="2048" --new=6:+1M:0 --typecode=6:8300 --change-name=6:MANJARO_HOME ${DEVICE} > ${LOG} sgdisk --print ${DEVICE} > ${LOG} else ... fi ... } $sudo blkid -p -i -o value -s PTTYPE /dev/sda gpt $sudo blkid -p -i -o full /dev/sda DEVNAME=/dev/sda MINIMUM_IO_SIZE=4096 PHYSICAL_SECTOR_SIZE=4096 LOGICAL_SECTOR_SIZE=512 PTUUID=765a3f72-f679-42e6-976e-39a5fa108d73 PTTYPE=gpt !!! So, we need a gpt, and EF02 (boot GRUB partition) check_gpt(){ GUID_DETECTED="" [[ "$(${_BLKID} -p -i -o value -s PTTYPE ${DISC})" == "gpt" ]] && GUID_DETECTED="1" if [[ "${GUID_DETECTED}" == "" ]]; then DIALOG --defaultno --yesno "Setup detected no GUID (gpt) partition table on ${DISC}.\n\nDo you want to convert the existing MBR table in ${DISC} to a GUID (gpt) partition table?\n\nNOTE:\nBIOS-GPT boot may not work in some Lenovo systems (irrespective of the bootloader used). " 0 0 || return 1 sgdisk --mbrtogpt ${DISC} > ${LOG} && GUID_DETECTED="1" fi if [[ "${GUID_DETECTED}" == "1" ]]; then if [[ "${CHECK_UEFISYS_PART}" == "1" ]]; then check_uefisyspart fi if [[ "${CHECK_BIOS_BOOT_GRUB}" == "1" ]]; then if ! [[ "$(sgdisk -p ${DISC} | grep 'EF02')" ]]; then DIALOG --msgbox "Setup detected no BIOS BOOT PARTITION in ${DISC}. Please create a >=1 MB BIOS Boot partition for grub-bios GPT support." 0 0 RUN_CGDISK="1" fi fi fi if [[ "${RUN_CGDISK}" == "1" ]]; then DIALOG --msgbox "Now you'll be put into cgdisk where you can partition your hard drive.\nYou should make a swap partition and as many data partitions as you will need." 18 70 clear && cgdisk ${DISC} fi }