Требуется ли grub при копировании Ubuntu на новый диск?

Ваша конкретная ошибка вызвана неправильным использованием опции --execute. Если вы посмотрите на выдержку из страницы руководства ниже, вы заметите, что --execute не имеет знака равенства, указанного как часть синтаксиса, поскольку он просто выполняет всю оставшуюся часть командной строки. Примером правильного использования может быть:

gnome-terminal --execute play '/home/cjohnson/Still Alive.mp3'

ВАЖНОЕ ПРИМЕЧАНИЕ: Использование cd в любом случае является чем-то особенным. cd не похож на большинство команд - он не запускает собственный бинарный / исполняемый файл. Он интерпретируется непосредственно с помощью bash (или любой другой оболочки, которую вы используете). Поэтому попытка вызвать cd не согласуется с флагами --execute и -x (которые, как представляется, хотят непосредственно порождать дочерний процесс). Такая же проблема будет (я проверял) с другими командами, которые непосредственно обрабатываются с помощью bash, например home. Даже если он используется правильно, без знака равенства, он все равно приведет к ошибке: «Файл или каталог не найдены». Поэтому использование опции --working-directory=[DIRECTORY] - лучший способ сделать то, что вы хотите сделать.

ВАЖНОЕ ЗАМЕЧАНИЕ: Даже если это были не случай, вы все равно столкнетесь с проблемами. Проблема заключается в попытке использовать параметр --execute, когда вы действительно намереваетесь использовать значение параметра --command. В документации справочной страницы он конкретно указывает

-e, --command = STRING Выполните аргумент этой опции внутри терминала. -x, --execute Выполнить оставшуюся часть командной строки внутри терминала.

(выделено мной)

Другими словами, это, вероятно, не будет анализировать его так, как вы думаете. Использование --execute предотвращает передачу каких-либо дополнительных параметров gnome-terminal.

Выдержка из одного из моих собственных сценариев, в которых я запускаю несколько команд на отдельных вкладках (имена изменены для моей конфиденциальности / безопасности): [ ! d18]

gnome-terminal --tab --command="ssh cjohnson@GLaDOS" --tab --command="ssh drattman@GLaDOS"

(Кстати, попытка использовать флаг --command с cd или home также приведет к знакомой ошибке «Нет такого файла или каталога». )

Надеюсь, это не слишком долго. Я просто стараюсь быть основательным.

0
задан 13 May 2018 в 02:09

6 ответов

Прежде всего, cp -a не подходит в этой ситуации. Вы хотите сделать CLONE раздел. Здесь мы будем использовать инструмент «dd», но есть другие, доступные с графическим интерфейсом и т. Д., Если вы предпочитаете, например, Clonezilla.

Подключите оба диска к компьютеру. Убедитесь, что новый диск имеет тот же размер или больше, чем тот раздел, который вы хотите скопировать.

Загрузите живой DVD / USB и запустите:

sudo blkid

В этом списке будут перечислены все диски и разделы на твой компьютер. Обратите внимание на раздел, который вы хотите скопировать, например. / dev / sda1 и новый пустой диск, например. / dev / sdb (no number).

Используйте dd для клонирования вашего раздела на новом диске - будьте очень осторожны, это может уничтожить ваши данные, если вы введете неправильную команду! 'if' - это (старый) раздел, который вы хотите скопировать. 'of' - новый (пустой) диск. Не перепутайте их! Например:

sudo dd if=/dev/sda1 of=/dev/sdb status=progress

Вы можете добавить bs = 4096, если хотите, чтобы он работал быстрее, но я не хочу этого делать. Теперь уходите и делайте что-то еще, потому что это займет некоторое время.

Когда это будет сделано (вы все еще в реальном времени на этой стадии), вы можете добавить раздел подкачки на новый диск, если хотите , используя gparted, затем установите / запустите Boot Repair, как показано ниже: это установит приятный свежий Grub на ваш диск (перезаписывает любой существующий) и найдет любую ОС на любом подключенном диске:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
[d7 ] Перезагрузитесь и наслаждайтесь. Примечание: вам нужно убедиться, что ваш BIOS загружает диск с новым Grub на нем.

~~~~~~~~~~

UPDATE: Извините за поздний ответ. Так что да, если вы еще этого не сделали, то то, что вы сказали ранее, - это то, что вы хотите сделать. Создайте пустой раздел ext4 размером около 20 ГБ на новом диске, чтобы установить новую систему Ubuntu. Клонирование раздела / home из старого диска на новый (убедитесь, что у вас достаточно места), а затем, наконец, добавьте раздел подкачки. Затем вы будете готовы установить систему на новый диск с вашего сеанса USB - выберите опцию «что-то еще» во время установки, выберите установку / на пустой раздел 20Gb с форматированием, выберите новый клонированный раздел для / home БЕЗ форматирования и поместите Grub на новый диск (см. раскрывающийся список внизу, новый диск уже должен быть выбран по умолчанию), и это должно сделать трюк.

Помните, что когда вы закончите, Grub должен показать Ubuntu x2 и Windows x1, поэтому убедитесь, что вы загрузили правильный.

0
ответ дан 22 May 2018 в 10:45
  • 1
    Я внимательно посмотрел на свою текущую систему, и ситуация более сложная, чем изначально описано. В текущем диске у меня 4 раздела. 1 Windows, 1 swap, 2 для Ubuntu. В 1 из них у меня есть сама ОС, с "/" как точка монтирования. В другом случае у меня есть данные, с "/ home" как точка монтирования. Я хотел бы иметь в новом диске как ОС, так и данные. Должен ли я сделать следующее? i) загрузить живой USB, ii) создать 3 раздела на новом диске, 1 для ОС (/), 1 для данных (/ home) и 1 для подкачки, iii) клонировать ОС, как описано с помощью dd, iv) клонировать данные с использованием dd – Joe 13 May 2018 в 11:38
  • 2
    Разделение отдельных / и / домашних разделов на самом деле является лучшим способом сделать это. Позвольте мне предположить, что вы хотите запустить свою систему на новом диске (это SSD правильно?), Но вы хотите сохранить все свои настройки данных и приложений и вашу систему Windows на старом диске? Скажите мне, если это так, и тогда я дам вам ответ, который вы действительно ищете. – JimDeadlock 13 May 2018 в 19:39
  • 3
    В основном да. Я хочу сохранить мои старые окна диска (я считаю, что если я переведу его на другой диск, он не будет работать с лицензией bc) и точным Ubuntu и данными, как у меня. Затем на новом диске снова появляется тот же самый точный Ubuntu и данные (я знаю, что он дублируется). Новый диск - это nvme ssd. Рабочие нагрузки, которые у меня есть в моем текущем Ubuntu, постоянно читают и пишут огромные файлы, поэтому я надеюсь, что новый диск поможет. Но система, которой я располагаю, настолько сложна, что я хочу дублировать все 1-е место и обеспечить ее работу на новом диске. Если sthg идет не так, я все еще имею систему в текущем диске – Joe 14 May 2018 в 02:25

Прежде всего, cp -a не подходит в этой ситуации. Вы хотите сделать CLONE раздел. Здесь мы будем использовать инструмент «dd», но есть другие, доступные с графическим интерфейсом и т. Д., Если вы предпочитаете, например, Clonezilla.

Подключите оба диска к компьютеру. Убедитесь, что новый диск имеет тот же размер или больше, чем тот раздел, который вы хотите скопировать.

Загрузите живой DVD / USB и запустите:

sudo blkid

В этом списке будут перечислены все диски и разделы на твой компьютер. Обратите внимание на раздел, который вы хотите скопировать, например. / dev / sda1 и новый пустой диск, например. / dev / sdb (no number).

Используйте dd для клонирования вашего раздела на новом диске - будьте очень осторожны, это может уничтожить ваши данные, если вы введете неправильную команду! 'if' - это (старый) раздел, который вы хотите скопировать. 'of' - новый (пустой) диск. Не перепутайте их! Например:

sudo dd if=/dev/sda1 of=/dev/sdb status=progress

Вы можете добавить bs = 4096, если хотите, чтобы он работал быстрее, но я не хочу этого делать. Теперь уходите и делайте что-то еще, потому что это займет некоторое время.

Когда это будет сделано (вы все еще в реальном времени на этой стадии), вы можете добавить раздел подкачки на новый диск, если хотите , используя gparted, затем установите / запустите Boot Repair, как показано ниже: это установит приятный свежий Grub на ваш диск (перезаписывает любой существующий) и найдет любую ОС на любом подключенном диске:

sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot-repair && boot-repair

Перезагрузитесь и наслаждайтесь. Примечание: вам нужно убедиться, что ваш BIOS загружает диск с новым Grub на нем.

~~~~~~~~~~

UPDATE: Извините за поздний ответ. Так что да, если вы еще этого не сделали, то то, что вы сказали ранее, - это то, что вы хотите сделать. Создайте пустой раздел ext4 размером около 20 ГБ на новом диске, чтобы установить новую систему Ubuntu. Клонирование раздела / home из старого диска на новый (убедитесь, что у вас достаточно места), а затем, наконец, добавьте раздел подкачки. Затем вы будете готовы установить систему на новый диск с вашего сеанса USB - выберите опцию «что-то еще» во время установки, выберите установку / на пустой раздел 20Gb с форматированием, выберите новый клонированный раздел для / home БЕЗ форматирования и поместите Grub на новый диск (см. раскрывающийся список внизу, новый диск уже должен быть выбран по умолчанию), и это должно сделать трюк.

Помните, что когда вы закончите, Grub должен показать Ubuntu x2 и Windows x1, поэтому убедитесь, что вы загрузили правильный.

0
ответ дан 17 July 2018 в 14:27

Прежде всего, cp -a не подходит в этой ситуации. Вы хотите сделать CLONE раздел. Здесь мы будем использовать инструмент «dd», но есть другие, доступные с графическим интерфейсом и т. Д., Если вы предпочитаете, например, Clonezilla.

Подключите оба диска к компьютеру. Убедитесь, что новый диск имеет тот же размер или больше, чем тот раздел, который вы хотите скопировать.

Загрузите живой DVD / USB и запустите:

sudo blkid

В этом списке будут перечислены все диски и разделы на твой компьютер. Обратите внимание на раздел, который вы хотите скопировать, например. / dev / sda1 и новый пустой диск, например. / dev / sdb (no number).

Используйте dd для клонирования вашего раздела на новом диске - будьте очень осторожны, это может уничтожить ваши данные, если вы введете неправильную команду! 'if' - это (старый) раздел, который вы хотите скопировать. 'of' - новый (пустой) диск. Не перепутайте их! Например:

sudo dd if=/dev/sda1 of=/dev/sdb status=progress

Вы можете добавить bs = 4096, если хотите, чтобы он работал быстрее, но я не хочу этого делать. Теперь уходите и делайте что-то еще, потому что это займет некоторое время.

Когда это будет сделано (вы все еще в реальном времени на этой стадии), вы можете добавить раздел подкачки на новый диск, если хотите , используя gparted, затем установите / запустите Boot Repair, как показано ниже: это установит приятный свежий Grub на ваш диск (перезаписывает любой существующий) и найдет любую ОС на любом подключенном диске:

sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot-repair && boot-repair

Перезагрузитесь и наслаждайтесь. Примечание: вам нужно убедиться, что ваш BIOS загружает диск с новым Grub на нем.

~~~~~~~~~~

UPDATE: Извините за поздний ответ. Так что да, если вы еще этого не сделали, то то, что вы сказали ранее, - это то, что вы хотите сделать. Создайте пустой раздел ext4 размером около 20 ГБ на новом диске, чтобы установить новую систему Ubuntu. Клонирование раздела / home из старого диска на новый (убедитесь, что у вас достаточно места), а затем, наконец, добавьте раздел подкачки. Затем вы будете готовы установить систему на новый диск с вашего сеанса USB - выберите опцию «что-то еще» во время установки, выберите установку / на пустой раздел 20Gb с форматированием, выберите новый клонированный раздел для / home БЕЗ форматирования и поместите Grub на новый диск (см. раскрывающийся список внизу, новый диск уже должен быть выбран по умолчанию), и это должно сделать трюк.

Помните, что когда вы закончите, Grub должен показать Ubuntu x2 и Windows x1, поэтому убедитесь, что вы загрузили правильный.

0
ответ дан 20 July 2018 в 14:32

Grub получает доступ к своим конфигурационным файлам до того, как монтируются диски / файловые системы. Если вы не дублируете оригинальный диск, скорее всего, вы получите командную строку grub.

Вам нужно будет загрузиться в новую ОС и обновить grub. В той же ситуации я сделал следующее:

скопировал ваши файлы на новый диск и отредактировал новый / etc / fstab, чтобы отразить новые UUID. Обновите grub, чтобы вы получили запись grub для нового диска в старой grub. загрузитесь в новый диск. Переустановите grub, обновите grub и обновите initramfs. Обязательно настройте новый диск с помощью установки grub. удалите старый диск, и вы должны быть хорошо с новым диском. после загрузки только с новым приводом, снова обновите grub, чтобы удалить запись для старого диска.
0
ответ дан 22 May 2018 в 10:45

Grub получает доступ к своим конфигурационным файлам до того, как будут установлены диски / файловые системы. Если вы не дублируете оригинальный диск, скорее всего, вы получите командную строку grub.

Вам нужно будет загрузиться в новую ОС и обновить grub. В той же ситуации я сделал следующее:

скопировал ваши файлы на новый диск и отредактировал новый / etc / fstab, чтобы отразить новые UUID. Обновите grub, чтобы вы получили запись grub для нового диска в старой grub. загрузитесь в новый диск. Переустановите grub, обновите grub и обновите initramfs. Обязательно настройте новый диск с помощью установки grub. удалите старый диск, и вы должны быть хорошо с новым диском. после загрузки только с новым приводом, снова обновите grub, чтобы удалить запись для старого диска.
0
ответ дан 17 July 2018 в 14:27

Grub получает доступ к своим конфигурационным файлам до того, как будут установлены диски / файловые системы. Если вы не дублируете оригинальный диск, скорее всего, вы получите командную строку grub.

Вам нужно будет загрузиться в новую ОС и обновить grub. В той же ситуации я сделал следующее:

скопировал ваши файлы на новый диск и отредактировал новый / etc / fstab, чтобы отразить новые UUID. Обновите grub, чтобы вы получили запись grub для нового диска в старой grub. загрузитесь в новый диск. Переустановите grub, обновите grub и обновите initramfs. Обязательно настройте новый диск с помощью установки grub. удалите старый диск, и вы должны быть хорошо с новым диском. после загрузки только с новым приводом, снова обновите grub, чтобы удалить запись для старого диска.
0
ответ дан 20 July 2018 в 14:32
  • 1
    Что именно мне нужно обновить в initramfs? – Joe 5 July 2018 в 01:57
  • 2
    обновление initramfs, создает системную карту и загрузочный образ. Поскольку оба доступа доступны до монтирования дисков, они ссылаются на файлы по физическому местоположению и должны быть созданы системой, не скопированной с другого диска – ravery 5 July 2018 в 02:06
  • 3
    Спасибо, раскол. Как мне это сделать? Запустить update-initramfs после загрузки с нового диска? – Joe 5 July 2018 в 03:00
  • 4
    Я пытаюсь использовать описанный вами подход, но у меня проблемы с дюнами. То, что я сделал: заблокировал 3 раздела в новом диске, 1 для /, 1 для / home, 1 для обмена. Все разделы больше, чем соответствующие в старом диске. Затем клонировали разделы для / и / home, используя команду dd в реальном сеансе. Обновлен fstab. Обновлен только UUID раздела подкачки, если другие 2 раздела имеют тот же UUID, что и исходный диск (были клонированы). Выключил компьютер. Физически отключил старый диск. Включен компьютер. Получается сразу после экрана материнской платы. Что я делаю неправильно? – Joe 5 July 2018 в 03:39
  • 5
    если вы клонируете, то клонируйте весь диск, а не отдельные разделы, обновление initramfs не понадобится – ravery 5 July 2018 в 04:07

Другие вопросы по тегам:

Похожие вопросы: