Процесс загрузки не может найти корневой раздел (часть диска, содержащая информацию для запуска системы), поэтому вы должны указать его местоположение самостоятельно.
Думаю, вам стоит взглянуть на что-то вроде этой статьи: how-rescue-non-boot-grub-2-linux
кратко: в этом grub rescue>
введите командную строку
ls
... чтобы перечислить все доступные устройства, затем вы должны пройти через каждое, ввести что-то вроде (в зависимости от того, что показывает команда ls):
ls (hd0,1)/
ls (hd0,2)/
... и так далее, пока вы не найдете
(hd0,1)/boot/grub OR (hd0,1)/grub
В случае efi
(hd0,1)/efi/boot/grub OR (hd0,1)/efi/grub
... теперь установите параметры загрузки соответствующим образом, просто введите это с правильными числами и после каждой строки нажимайте return
set prefix=(hd0,1)/grub
set root=(hd0,1)
insmod linux
insmod normal
normal
, теперь он должен загрузиться, и после запуска командной строки и ввода
sudo update-grub
... он должен загрузиться в следующий раз
Если нет, вам придется повторить шаги снова и, возможно, придется снова восстановить или установить grub (см. эту статью: https://help.ubuntu.com/community / Boot-Repair )
надеюсь, что я правильно понял ваш вопрос, и это то, что вы ищете
Как и
ls -S | голова | xargs rm
работает (даже с именами файлов с пробелами и т. д.?)
Нет. xargs
по умолчанию разбивается на любые пробелы, а не только на новые строки.
И вы не можете увидеть это с | xargs echo
, поскольку echo
печатает все свои аргументы, разделенные пробелами. (Что-то вроде | xargs printf "% s \ n"
будет печатать их, разделенные символами новой строки, поэтому вы увидите, происходит ли разделение в середине имени файла.)
По крайней мере, GNU xargs имеет -d '\ n'
для разделения только на символы новой строки, а во многих версиях xargs есть -0
для разделения на символы NUL (это идет с find -print0
]). Вам понадобится хотя бы первый, но в общем случае имена файлов также могут содержать символы новой строки, и в этом случае head
тоже не принесет много пользы.
Я обязан предупредить вас, что синтаксический анализ вывода ls
считается неправильным , очевидно, по крайней мере, некоторые версии будут искажать вывод даже без наличия символов новой строки. (Впрочем, вы можете быть в безопасности, если у вас нет новых строк или непечатаемых символов. Возможно.)