{imgicourl}{zamok}
Другие записи за это число:
2018/12/02 - В Пятерочке
2018/12/02_kulichi - куличи #73
<< предыдущая заметкаследующая заметка >>
02 декабря 2018
Линукс: переезд на новый диск

Линукс создан чтобы страдать. Нет, потом конечно радоваться, но сначала — страдать. Казалось бы, простая задача — переехать на новый диск. Друг Саня подарил плашку SSD 128 Гб, а у меня стояла 30Гб (для работы в принципе хватало). Задача: просто заменить диск SSD, не убив данные. Казалось бы, задача элементарная. Не в сравнении с Windows, говорят, там тоже грабли, а вообще в космическом масштабе.

показать, как делать неправильно
1) Гнездо под SSD одно. Сперва мы попробовали взять Сашин системный блок, куда можно поставить 2 плашки одновременно. Но оказалось, что копирование с плашки, смонтированной в запущенном Линуксе, невозможно.

2) Скачал Линукс Lubuntu 16 LST (уж какой нашел по официальной ссылке на Торрент), одолжил флешку, записал на нее, загрузился с нее. Но оказалось, что системный блок Саши не держит столько устройств, а ещё у него две видеокарты... Подробности опускаю, это чисто вопросы железа.

3) Итак, подготовил новую плашку SSD 128: при помощи fdisk записал MBR диска в формате MSDOS (это просто название варианта таблицы разделов, если кто не знает). Запустил красивую официальную графическую утилиту gparted, скопировал всё две свои партиции /root и /home на новый диск, проследив, что их коды сохранились теми же для fstab. Но загружаться новый диск отказался.

4) Вспомнил, что не выставил флажок boot на партицию root. Это тоже не помогло.

5) Решил, что фиг с ней, с /root, был бы /home. Решил поставить Lubuntu заново, начал грузить из сети 18 LTS потому что не 16 LTS же ставить. Поставил заново. Но на этапе загрузчика grub инсталлятор сказал, что grub не может создать разделы. Повторил. Тот же эффект.

6) Загрузился в консоль (Lubuntu 18 LTS оказалась alternate — без графической оболочки, только инсталлятор), при помощи fdisk переписал MBR из формата MSDOS в формат GPT. Может, так надо? Попробовал поставить заново — та же ошибка. Пробовал ещё несколько раз, просил Lubuntu уже самостоятельно сделать разделы какие хочет, просто хоть что-то чтоб инсталлировать. Нет, ошибка grub в самом конце инсталляции.

7) Плюнул и лег спать. День вторый.

8) Скачал в третий раз установочный дистрибутив — уже не 16 LTS desktop и не 18 LTS alternate, а 18 LTS desktop — чтоб заранее правильный и для установки и для работы (а поработать с загрузочной флешкой еще пришлось).

9) Вспомнил главное правило Линукса: при создании системных дисков НИКОГДА СЦУКО НИКОГДА не используй никаких утилит кроме тупого посекторного копирования dd!

Теперь для себя (и тех, кому это может быть интересно) даю правильный рецепт переезда любого Линукса на новый диск:

1. Сделать загрузочную флешку Lubuntu командой dd.

Скачать с https://lubuntu.net последний дистрибутив, чтобы сделать загрузочную флешку. Обязательно LTS, обязательно Desktop (это одновременно и установщик и просто работоспособная система с десктопом и всеми основными утилитами, которую можно запустить без установки). Сегодня это: lubuntu-18.04-desktop-amd64.iso Найти флешку не менее 2Гб, вставить, убедиться, что Линукс ее видит (например, как /dev/sdb и /dev/sdb1). Записать образ на флешку при помощи одной лишь dd и никакой иной хуйни для этого не использовать:

sudo dd if=./lubuntu-18.04-desktop-amd64.iso of=/dev/sdb status=progress

Если вы забыли указать status=progress, останавливать копирование не хочется, но жутко интересно, почему dd так долго висит и сколько уже записалось, запустите параллельно новый терминал и наберите в нем команду: sudo kill -USR1 `pgrep -l '^dd{s}lt;b>' | awk '{print {s}lt;b>1}'` Результат будет не в этом окне, а в том, где работает dd.

Никогда не используйте для создания загрузочной флешки из файла iso никаких других утилит, кроме dd! Всякие unetbootin и прочее говно не работают: просто убьют вам вечер. Невозможно понять и объяснить, почему специализированные утилиты для создания загрузочных дисков в 90% случаев не создают дисков, которые способны загружаться. Но у нас задачи такой нет, понимать хуйню, надо просто запомнить, что любое клонирование системы в Линуксе делается только при помощи dd.

Никакого /sda1 /sdb1 и т.п! Всегда работаем только с самим диском /sda

2. Загрузиться с флешки и клонировать старый диск на новый той же командой dd.

Если есть возможность поставить оба диска рядом, то просто:

dd if=/dev/old-sda of=/dev/new-sdb status=progress

Если же слот под SSD один (как у меня), то найти внешний винт большего размера и скопировать сперва на него старый диск со всеми разделами как один файл ISO, затем отключить питание, поменять диск, снова загрузиться с флешки и развернуть из файла на новое место:

dd if=/dev/sda of=/media/DISK_4TB/old_disk.iso status=progress

sudo reboot

dd if=/media/DISK_4TB/old_disk.iso of=/dev/sda status=progress

Если внешний диск формата exfat, то каждый раз после загрузки с флешки потребуется установить драйвер, которого почему-то в комплекте из коробки до сих пор нет:

sudo apt update; sudo apt install exfat-fuse exfat-utils

Загрузитесь с нового диска, убедитесь, что всё работает (а куда оно денется?).

3. Загрузиться с флешки и изменить разделы.

А вот теперь, когда все скопировалось и всё грузится, смело запускайте sudo gparted и в графических окошечках двигайте и раздвигайте разделы как вам угодно под новый диск.

4. Пара советов

Лучший дистрибутив — Lubuntu (Ubuntu с графическим столом LXDE). Это самый быстрый и самый легкий десктоп, сохранивший все преимущества Ubuntu.

Ставить надо не «последнюю» версию, а всегда последнюю LTS (Long Term Support) — стабильный дистрибутив с многолетней поддержкой, по окончании которой будет предложен скрипт беспроблемного переезда на LTS нового поколения. Если вы поставите не LTS, а какую-то временную версию, через год-два-три можно обнаружить, что версия не поддерживается, обновления не работают, система приходит в упадок, тематические форумы полны горестных воплей таких же неудачников, а из толковых советов по переезду с этого говна — только снос системы и установка LTS. Разработчики Линуксов почему-то думают, что весь мир состоит из разработчиков Линуксов, которым будет страсть как интересно скачать самую последнюю версию и заняться изучением её новых глюков. Поэтому на своих сайтах они норовят положить самое сырое и неподдерживаемое говно на самое видное место для скачивания, не ведитесь.

Ставить надо всегда версию amd64 и только её. Ой, у вас на ноутбуке написано, что процессор Intel? Пофиг, 64-разрядная архитектура была предложена AMD, но стала единым стандартом для любых процессоров, выпущенных за последние 10 лет. Если ваш компьютер старше 10 лет, не надо ставить 32-разрядную версию, надо просто выкинуть хлам нахуй.

При первоначальной установке Линукса всегда выбирайте опцию «создать разделы диска вручную» чтобы создать две отдельные primary партиции: системный раздел / (в Линуксе 30Гб для системы — сегодня более, чем достаточно) и раздел данных /home — сколько хватит места. Системный раздел / можно в будущем снести и поставить систему заново за 10 минут, или поставить другой Линукс, но настройки всех программ и все данные останутся в /home неизменными, ни один инсталлятор просто так форматировать /home не станет, если оформить как отдельный раздел. Партиция swap — я не понимаю, зачем она нужна в 2018 году, особенно для дисков SSD. Я ее не делаю.

Моя подробная инструкция по настройке Lubuntu: http://lleo.me/dnevnik/2017/07/14_lubuntu.html

PS: На заседании Рады сайта lleo.me принят указ о военном положении в комментах. В связи с невероятным засилием хуйни не по теме. Отныне режим блога — гостевая книга, а не древовидный форум, и все комменты скрываются до премодерации. Это никак не коснется людей, решивших оставить ценный комментарий по теме заметки — комментарии с ценной для общества информацией будут конечно же раскрыты, а бездельники со всевозможными «гыгыгы делать те нечего поставь лучше Виндос вот те прекольный ролек КВН про ноутбук» не займут нашего с вами драгоценного внимания.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок

Комментарии к этой заметке скрываются - они будут видны только вам и мне.

Оставить комментарий
Firefox
 Австралия
7
0
iugssf (#6957916)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
dd точно так же хорошо клонирует винду, недавно переехал на диск побольше так.

Ещё если переезжаешь с древнего HDD с бед блоками нужен не dd, а ddrescue, который умеет ппопустить нечитаемое, и вторым проходом спасти как можно больше. На моём винте потерялся где-то мегабайт из 750 гигов, на работе системы это не сказалось, наверное видео какое покорраптилось.

А dd бы отказался копировать, и долго бы долбил нечитаемый блок, с риском ухудшить состояние винта
Windows Safari Chrome
 Словения
1
0
Igor Medvedev (#7259249)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
А чем будет правильно создавать загрузочную флешку из-под Windows? вместо dd
Safari Chrome
 Mt Laurel
2
0
agathpher
Я много лет пользовался Ubuntu, недавно решил сделать upgrade на 18.04 и просто охуел, насколько оно выглядит дубово и при этом некоторые библиотеки даже неправильно поддерживаются .h файлами. Установил Debian 19 и просто как из девятнадцатого века попал в двадцать первый.

А для переноса просто смонтировал старый диск отдельно, все файлы с обоих видны, потихоньку то, что надо, перетащил. Правда у меня нет проблемы что только один носитель можно подключить :)
Linux Safari Chrome
 Москва
1
0
Leonid Kaganov
Я не очень понимаю, что значит дубово. Если вы про внешний вид, то мне не нравится Ubuntu вообще. У меня Lubuntu, LXDE. Во время переезда с 16 на 18 версию была пара мелких вопросов (менеджер клавиатуры лишний включился, появилась задержка при загрузке), но после гугления я все убрал как надо в тот же вечер. Никаких иных проблем до сих пор не встретились.
Linux Ubuntu Safari Chrome
 Воронеж
6
1
selivan
Можно было гораздо проще:

- разбить диски как собирался
- скопировать файлы на новые диски, сохраняя владельцев и права
- примонтировать новый корень куда-нибудь в /mnt, новый /home в /mnt/home и так далее для всех новых разделов
- примонтировать с опцией -o bind /dev, /sys и /proc в /mnt/dev, /mnt/sys и /mnt/proc
- chroot /mnt /bin/bash

Оттуда запустить update-grub, который уже разберётся со всей этой загрузочной магией, включая всякие извращения типа ключей UEFI boot, если он используется.
Linux Ubuntu Firefox
 Москва
2
0
Leonid Kaganov
Это называется проще? Я пользователь, я не обязан знать заклинания. Сегодня grub, вчера был lilo, завтра новая дрянь будет, я что, должен учить все загрузчики и их команды?
Linux Ubuntu Safari Chrome
 Санкт-Петербург
6
0
selivan
> Партиция swap — я не понимаю, зачем она нужна в 2018 году, особенно для дисков SSD

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

Во-вторых, чтобы если пользователь умудрился запустить что-то тяжёлое и жрущее память, система будет просто подтормаживать, а не встанет раком.

Впрочем, именно раздел действительно не нужен, проще держать в корне файл подкачки.
Windows Opera
 Москва
7
0
Konstantin Vlasov
По поводу того, что инсталлятор записывать только через dd: оно на самом деле не всегда так. Unetbootin именно потому и появился в природе, что не было простого способа превратить установочную исошку, со своей сидиромной разметкой и файловой системой iso9660, в образ для флэшки, эквивалентной по сути жёсткому диску, с таблицей разделов и всяким сопутствующим барахлом. Вот Unetbootin и конвертировал один фарш в другой.

Сейчас почти все дистрибы, наконец, освоили так называемые гибридные образы, которые, да, можно записать через dd, потому что хоть это и сидиромный образ по своему формату, но в начале у него очень удачно засело несколько неиспользуемых секторов, в которые и была воткнута таблица разделов. В итоге образ работает и в виде прожжённого оптического диска (тогда таблица разделов игнорируется), и в виде флэшки (тогда используется таблица разделов, специально подогнанная под ту же файловую систему с данными). Но надо помнить, что не все Линуксы уже перешли на гибридные образы, есть ещё те, кто не освоил эту премудрость. У них dd-шная флэшка просто не загрузится.
Mac Safari
 Израиль
3
0
braintunic
> sudo kill -USR1 `pgrep -l '^dd$' | awk '{print $1}'`

Во-первых, символ «доллар» в твоём тексте скрякозябрился (может, только в моём браузере?)

Во-вторых, вместо этой монструозной команды можно точно то же самое получить просто:
> sudo pkill -USR1 -x dd
Linux Firefox
 Пенза
1
0
qwerty блинн которого сайт забыл
Чтото странное происходит... Неделю назад занимался темже. Заодно совместил с апгрейдом системы. Правда у меня небыло проблем "одного слота". И дистрибут был дебиан. Проблем не возникло от слова никаких.
Но посыл статьи правильный: чем тупее утиль тем лучше он работает. Тоже самое относиться и к дистрибутивам :)

А применение dd несколько опасно при переезде на HDD при изменении размера секторов 512->4096 - можно получить тормоза при записи

зы: в трабле с boot часто грабли называются UEFI. Причем то что пишет в сетапе фиг соответствует реальности. В своё время я c конторским леново натрахался по этому поводу...
Linux Safari Chrome
 Киев
2
0
Lintruder4ever (#7462012)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Переезжал неоднократно на ноуте с hdd 160GB на ssd 120GB и обратно с помощью Clonezilla.
Ubuntu 16.04 LTS.
ЧУдная утилита. Оупенсорсная. Умеет и напрямую, и через образы дисков. И разделы может поправить (расширить-100%, сжать - врать не буду, не пробовал) Рекомендую. "Дай Б~г каждому!"
Linux Ubuntu Firefox
 Израиль
6
0
vfork
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Две вещи:

1.
в комаде dd для ускорения копирования имеет смысл добавить bs=4M

2.
>>> Если внешний диск формата exfat, то каждый раз после загрузки с флешки потребуется установить драйвер, которого почему-то в комплекте из коробки до сих пор нет:
Лицензионные проблемы. exfat не свободен, дистро Линукса его содержать не может - юристы съедят.
Linux Ubuntu Safari Chrome
 Москва
2
0
Artem
Надо просто использовать LVM
Тогда не надо было бы грузиться ни с какой флешки

parted /dev/sdb mkpart primary 1 100%
vgextend LVM_GROUP /dev/sdb1
pvmove /dev/sda1
pvremove /dev/sda1

Примерно так
Linux Ubuntu Firefox
 Москва
1
2
Leonid Kaganov
Никогда не надо использовать LVM. Это лишний геморрой, который иногда делает диск несовместимым, а иногда просто слетает и убивает данные.
Windows Firefox
 Fremont
1
0
Korj
swap нужен ещё потому, что менеджмент памяти в Linux написан с его учётом. В частности, если программа выделит много памяти маленькими порциями, а потом освободит всё, кроме последних блоков, только swap поможет эту память вернуть, иначе до закрытия программы/перезагрузки будет память висеть мёртвым грузом (особенно это касается демонов).

@Igor Medvedev> А чем будет правильно создавать загрузочную флешку из-под Windows? вместо dd
простым копированием файлов дистрибьютива (не сам .iso, а всего, что внутри) на FAT-раздел. UEFI ничего не нужно специальное на флешке, никакие флаги разделов, только файлы.
Linux Opera
 Санкт-Петербург
1
0
Jared
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Подддержу про клонзиллу. Указываешь ей откуда-куда клонировать и откидываешься в кресле. Никаких танцев с маунтами-дд-фдисками, весь процесс автоматизирован. Главное диски не перепутать =)

И что значит "один разъем под ssd"? У них тот же SATA, что и у классических дисков. Если на матери только один SATA разъем, то это какое-то лютое старье. Если не хватает разъема питания, то переходники можно купить в любом подвальчике по 100 рубей ведро.
Linux Ubuntu Firefox
 Москва
2
0
Leonid Kaganov
Вы что-нибудь слышали про диски SSD формата m2? Это штука выглядит примерно так:



30Gb я сменил на 120Gb, оба такого формата. Это не SATA, и у меня в компьютере такой разъем всего один. Компьютер мой называется NUK Intel, это совсем маленькая коробочка, которая гораздо сильнее моего бывшего ноутбука, и ее очень удобно возить с собой из Москвы в Питер, если дисплеи и прочая инфраструктура имеются и там и там. Выглядит комп так:



Да, внутри NUK есть еще и один SATA, но без разъема питания, и работоспособность его мне неизвестна. Да, переходники SATA/M2 и наоборот тоже существуют. Но бегать искать по радиорынкам и покупать переходники по конским ценам ради того, чтобы скопировать однажды диск, я никому не советую.
Linux Safari Chrome
 Санкт-Петербург
0
0
Николай Лещёв
NUC - New Unit of Computing.
Linux Safari Chrome
 Швейцария
0
0
Миха23
Да, и традиционный вопрос: раскладку клавиатуры починили уже или нет? Чтоб можно было спокойно выбрать любой язык, раскладку, и переключать любой комбинацией клавиш без танцев с бубном?
Linux Ubuntu Firefox
 Москва
1
0
Leonid Kaganov
У меня свои собственные настройки клавиатуры, потому что мне нужна для работы другая скорость, а язык я привык переключать кнопкой CAPS, да чтобы при этом загорались все имеющиеся лампочки. Поэтому при старте системы выполняется скрипт с такими командами:

/usr/bin/xset r rate 250 80
/usr/bin/setxkbmap -option terminate:ctrl_alt_bksp
/usr/bin/setxkbmap -variant ,winkeys -layout us,ru
/usr/bin/setxkbmap -option grp:caps_toggle,grp_led:caps,grp_led:scroll,grp_led:num,grp:switch

При переезде с версии 16 на 18 (если ваш вопрос об этом) сам собой включился какой-то новый клавиатурный менеджер, который сделал недоступными мои настройки и принялся рулить клавиатурой по-разному в разных окнах, причем в некоторых язык вообще не переключался. Я погуглил в сети, что это, и как эта мерзкая софтинка отключается, отключил и стало как прежде. Подробностей и названий не подскажу, не стал запоминать.
Linux Safari Chrome
 Санкт-Петербург
0
0
Николай Лещёв
А куда это прописывать?
И это для каждого пользователя нужно прописывать, да?
Mac Safari Chrome
 Нижний Новгород
1
0
tartaglia
Если новый диск ставится рядом, то флешка не нужна, достаточно:
1) Загрузиться в "single user mode" либо просто выполнить "init 1"
2) "swapoff -a", потом размонтировать все, кроме /
3) Перемонтировать корень read-only:
  mount -o ro,remount /
4) Системный диск read-only и готов к копированию.

Если новый диск не ставится рядом и нужна-таки загрузка с внешнего носителя, то вместо флешки можно взять DVD-RW. У меня вот и нет флешки на 2 ГБ, а DVD-дисковод есть у всех.
Linux Ubuntu Firefox
 Москва
5
3
Leonid Kaganov
Кажется, мы с вами живем в разных эпохах. Флешек вокруг навалом, а вот где найти DVD-дисковод, кому придет в голову им обзавестись дабы слушать музыку с CD и смотреть фильмы с DVD в 2018 году - большая загадка.

Ну и почему пользователю загрузиться с инсталляционной флешки сложнее, чем обложиться справочной литературой, изучить вход в режим single user mode, общаться напрямую с загрузочным с ядром, посылая ему неведомые команды init 1, а потом долго колдовать в консоли, какие партиции с какими опциями и куда следует перемонтировать - это тоже отдельная загадка. Лично я совершенно не готов засорять себе голову этой крайне специфической информацией, которая мне ни разу не понадобилась за 15 лет работы с Линуксом, и, надеюсь, не понадобится впредь.
Linux Safari Chrome
 Хабаровск
0
0
Banza1
Чтоб с флэхи грузилось - надо начало раздела делать не дальше 512 Кб. Старые БИОС не видят дальше..

вот так, к примеру:

Модель: General USB Flash Disk (scsi)
Диск /dev/sdb: 15,6GB
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: msdos
Флаги диска:

Номер Начало Конец Размер Тип Файловая система Флаги
1 32,3kB 15,6GB 15,6GB primary fat32 загрузочный, lba

Плюс такого способа в том, что можно на флеху всякого г-на в нагрузку докидать: дрова, софт, доки..

всего комментариев: 51

<< предыдущая заметка следующая заметка >>