Извините за некропостинг, но только что столкнулся с тем же. Так что это может дополнить инструкции на странице Kali:
Каждая команда находится в отдельной строке
end=7gb
определите конечную переменную как 7gb;
read start _ < <(du -bcm kali-linux-1.0.8.amd64.iso | tail -1); echo $start
Вот суть проблемы :вы загружаете образ Kali и вы должны создать постоянный раздел из каталога, в котором находится загруженный вами образ , поэтому новый раздел получает свое начало, определяемое конец ISO, который вы скопировали байт -на -байт на USB:
du -bcm kali-linux-1.0.8.amd64.iso
d isk u sage файла ISO, in b ytes, c complete и 1 m эгабайт размер блока;
tail -1
предыдущая команда дает в результате пару строк, например:
3269 kali-linux-2019.2-i386.iso
3269 total
но нас интересует только число до суммы, поэтому сначала мы удаляем последнюю (вторую )строку и получаем:
3269 total
read start _
делает последний трюк :читает эту строку до первого пробела, или первой табуляции, или первой новой строки, внутренних разделителей полей по умолчанию, останавливается там (символ подчеркивания )и присваивает это слово переменной start.
echo $start
фиксирует это число как переменную $start, поскольку мы не определяли его со знаком равенства.
parted /dev/sdb mkpart primary $start $end
Это часть, которая выполняет фактическую работу по созданию раздела, от размера в мегабайтах файлов ISO (3269 МБ, около 3 ГБ )до отметки 7 ГБ. Это та часть, которая станет вашим постоянным разделом. Скажите, что вы согласны с тем, что программа выбирает начальный блок, даже если вы потеряете несколько мегабайт.
Не забудьте изменить sdX на правильную букву для вашей системы. Обычно это намного больше, чем b (. У меня оно есть в g, d и e ), и я думаю, что им следует избегать использования b в примерах, поскольку у многих из нас есть два жестких диска.