RU Linux

Клонирование системы Windows + Linux с одного NVME SSD на другой

Вот уже некоторое время работаю за ноутбуком Lenovo Thinkpad T490 (Intel, 16GB RAM, 256GB NVME SSD). При покупке стояла ОС Windows 10. Не стал ее удалять. Подвинул немного и на оставшиеся 100+ GB поставил Kubuntu 20.04 LTS. Привычный Debian не стал ставить -- захотелось попробовать на более новом железе версию ядра и KDE поновее. Да и сочетание LTS релиза QT и KDE с LTS Plasma подкупили долгим сроком 5 лет поддержки. Пока полет нормальный, все работает, переставлять не буду.

100 GB места очень быстро кончились. Тем более, что до этого у меня на Thinkpad T420s стоял 1TB SSD от Western Digital и я даже все файлы со старого ноутбука скопировать не смог. Поэтому решил сделать апгрейд места. В T490 нет слота под 2.5" SSD и только один рабочий слот M.2 NVME 2280. Возможно надо было покупать предыдущую модель T480 т.к. есть модификации с местом под 2.5" SSD + 2240 SATA M.2 SSD. Но я взял поновее модель, с полноразмерным и быстрым слотом M.2 2280 под апгрейд.

Апгрейдиться решил по максимуму, чтобы скопировать все файлы со старого компьютера, скопировать Windows 10 на всякий случай и еще чтобы место осталось -- взял Samsung 970 EVO Plus 2 TB. За одно еще взял 32Gb оперативки в свободный слот. Соответственно стояла задача клонировать старую систему с 256GB NVME диска на новый 2TB NVME диск и расширить разделы.

Для этого купил внешний бокс M.2 NVME SSD модель 31UBNV1C от Age Star с кабелем в комплекте USB Type-C -> USB3.1.

Миграцию выполнил успешно следующим образом:

1. Сделал загрузочную USB флешку с Clonezilla. В инструкции по загрузке с флешки на сайте у них какая-то дичь, видимо чтобы флешки продавать загрузочные :) Флешку сделал из iso-образа Live CD командой sudo dd if=clonezilla.iso of-/dev/sda1

2. Подключил 2TB диск через бокс, загрузился с Clonezilla и склонировал 256GB на 2TB в режиме Drive to Drive без расширения разделов. Скопировалось все, включая EFI раздел, скрытый раздел восстановления Windows, разделы с Windows и Linux и т.д. При клоноровании была какая-то ошибка, что-то на счет несовпадения UUID EFI разделов.

3. На диске 2TB сдвинул и поменял размер разделов как мне нужно программой KDE Partition Manager (аналог GParted). Получилось все, кроме ресайза основного раздела Windows 10, так как он имел тип Bitlocker, а не NTFS, хотя я его не шифровал явно в Windows. Соответственно пришлось загрузиться в Windows, с помощью оснастки работы с дисками примонтировать новый диск и поменять размер раздела склонированной Windows 10. В итоге на диске получились такие разделы:

Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 534527 532480 260M EFI System
/dev/nvme0n1p2 534528 567295 32768 16M Microsoft reserved
/dev/nvme0n1p3 567296 530833407 530266112 252,9G Microsoft basic data
/dev/nvme0n1p4 3904980992 3907028991 2048000 1000M Windows recovery environment
/dev/nvme0n1p5 530835456 3904980991 3374145536 1,6T Linux filesystem

4. Раскрутил и вскрыл ноутбук пластиковой картой. Это можно аккуратно сделать, начиная с задней стенки, в интернете есть видео. Заменил диск. В результате, конечно, с копии не получилось загрузиться. Вместо GRUB2 стартовал поломанный загрузчик Windows с ошибкой про winload.efi, для восстановления загрузки пришлось шаманить.

5. Восстановил загрузчик Windows. Для этого переставил старый диск обратно, загрузился в Windows 10 и сделал USB-флешку восстановления системы (почему-то только со второго раза сделалалась). Переставил снова новый диск. Загрузился с флешки, запустил консоль и выполнил:

diskpart
list volume (посмотрел номер раздела EFI, в моем случае 1)
select volume 1
assign letter w
exit
bcdboot C:\Windows /s w: /f UEFI

Более подробная инструкция на этот шаг: https://superuser.com/questions/1093305/windows-10-fails-to-boot-after-hdd-clone-to-ssd

6. Восстановил GRUB2. Для этого сделал загрузочную флешку Ubuntu командой sudo dd if=ubuntu.iso of=/dev/sda1, загрузился с нее и сделал grub-install из chroot вот так:

sudo fdisk -l (посмотрел как называются разделы с EFI и EXT4 основного раздела Linux)
sudo mount /dev/nvme0n1p5 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
sudo chroot /mnt
update-grub
grub-install /dev/nvme0n1

Более подробная инструкция на этот шаг: https://askubuntu.com/questions/88384/how-can-i-repair-grub-how-to-get-ubuntu-back-after-installing-windows

Собрал ноутбук, переставил диск 256GB в коробку USB. Осталось с помощью него скинуть файлы со старого рабочего ноута. 1.6TB свободно. Этого апгрейда по месту и памяти должно на несколько лет хватить. Хотя тормоза Zoom + Slack на процессоре i5 восьмого поколения немного подбешивают. У Кати теперь Lenovo ThinkBook на AMD Ryzen 5 4600u. Очень тихий и быстрый. Следующий Thinkpad наверно возьму на AMD.

Блог: RU Linux

Восстановление данных с жестких дисков с помощью ddrescue и распаковка Windows из образов WIM в Linux

Когда жесткий диск начинает умирать и операции чтения в случайных местах завершаются ошибкой, то данные можно скопировать программой ddrescue -- она читает повторно ошибочные сектора много раз, пока не прочтет все данные. При восстановлении Windows на ноутбуках важно восстановиться из образа производителя, чтобы сохранить лицензию Windows и все драйвера. Образ обычно хранится в скрытом разделе в формате wim, с которым в Linux работают программы из пакета wimtools.

Копируем системные разделы в файлы:

sudo ddrescue /dev/sda1 ~/rescue/sda1_SYSTEM ~/rescue/log_sda1 --try-again --verbose
sudo ddrescue /dev/sda2 ~/rescue/sda2_Recovery ~/rescue/log_sda2 --try-again --verbose
sudo ddrescue /dev/sda3 ~/rescue/sda3_Reserved ~/rescue/log_sda3 --try-again --verbose

Монтируем раздел восстановления системы и копируем из него файл образа Windows от производителя:

sudo ddrescue /mnt/sda6/RecoveryImage/install.wim ~/rescue/install.wim ~/rescue/log --try-again --verbose

Меняем сломанный жесткий диск на новый, создаем на нем аналогичную структуру разделов через GParted и восстанавливаем файлы:

sudo dd if=rescue/sda1_SYSTEM of=/dev/sda1
sudo dd if=rescue/sda2_Recovery of=/dev/sda2
sudo dd if=rescue/sda3_Reserved of=/dev/sda3
sudo wimapply rescue/install.wim 2 /dev/sda4

2 означает восстанавливаться из второго образа с драйверами, в первом образе чистая система. Посмотреть содержимое образов можно командами wiminfo и wimmount.

Восстановить процесс загрузки Windows помогает Lazesoft Live CD.

Блог: RU Linux

Debian 9: впечатления и заметки

Старый ноутбук умер при отладке микроконтроллеров по USB. Купил Lenovo Thinkpad T420s у немца на ebay и поставил на него (thinkpad) Debian 9 Stretch (testing). Благо глубокая заморозка пакетов уже настала. Поставил KDE4. Понравилось. В 2017 году перехожу с 3.5 на 4 :) Сюда буду дописывать нюансы настройки.

NVidia Geforce через Optimus


sudo apt-get install nvidia-driver
sudo apt-get install bbswitch-dkms
sudo dpkg-reconfigure nvidia-kernel-dkms
sudo dpkg-reconfigure bbswitch-dkms
sudo apt-get install bumblebee-nvidia
sudo nano /etc/bumblebee/bumblebee.conf

Поправить так:

[driver-nvidia]
KernelDriver=nvidia-current

Запуск Google Chrome для вывода WebGL через NVidia:
optirun google-chrome --disable-gpu-sandbox http://webglsamples.org/aquarium/aquarium.html

Запуск настроек NVidia:
optirun -b none nvidia-settings -c :8

Отключение Blutooth


sudo echo disable > /proc/acpi/ibm/bluetooth

МФУ Brother MFC-7860DWR

Качаем пакеты с http://support.brother.com/g/s/id/linux/en/download_prn.html

sudo dpkg --add-architecture i386
sudo apt-get install libc6:i386 libgcc1:i386 gcc-6-base:i386
sudo dpkg -i mfc7860dwlpr-2.1.0-1.i386.deb
sudo dpkg -i cupswrapperMFC7860DW-2.0.4-2.i386.deb

Качаем пакеты http://support.brother.com/g/s/id/linux/en/download_scn.html

sudo dpkg -i brscan4-0.4.2-1.amd64.deb
brsaneconfig4 -a name=MFC-7860DW model=MFC-7860DW ip=192.168.1.200
sudo apt-get install xsane

Блог: RU Linux

Ошибка WIFI: deathenticating by local choice (reason 3 = DEAUTH_LEAVING) [SOLVED]

При подключении с ноутбука к iPad в качестве точки доступа по WiFi вылезла такая бяка в логах dmesg, соединение не устанавливается. С остальными точками доступа все ок.

Вылечил так:
1) Вписал REGDOMAIN=IN в /etc/default/crda
2) Вписал country="RU" в /etc/wpa_supplicant/wpa_supplicant.conf в соединение с iPad
3) Перезагрузился

Подозреваю что пункта 2 достаточно.

Блог: RU Linux

Обновление Ubuntu со старых версий

Только закончил обновление Ubuntu 13.10 до 15.10 на домашнем ноутбуке. В процессе обновлял по цепочке сначала до 14.4, затем 14.10, 15.4 и затем 15.10. Поскольку версии 14.4 и 14.10 уже не поддерживаются, то у них сменился адрес, по которому доступен репозитарий пакетов, надо в sources.list прописать ссылки на old-releases, подробнее тут: https://help.ubuntu.com/community/EOLUpgrades

Апгрейд делал по старинке sudo aptitude update и sudo aptitude full-upgrade прямо из Gnome, после каждого апгрейда перезагружался.

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

aptitude search '~S ~i (!~Awily)'

Делал apt-get autoremove несколько раз.

В конце чтобы починить центр приложений, переустановил пакет software-center, удалил /etc/apt/sources.list и сгенерировал его заново через sudo software-properties-gtk.

Полет нормальный, глюков нет, Ubuntu выглядит гораздо стабильнее, чем раньше.

Блог: RU Linux

Починил счетчик RC-багов Debian

Debian RC bug counter

Теперь считаем баги и ждем Debian 8 Jessie!

Блог: RU Linux

Обновление Debian 6 до Debian 7, KDE Trinity 3.5.13.2, роуминг Wifi через wpa_gui

Debian Wheezy

Забросил я совсем свой блог. На своем рабочем ноутбуке уже пару лет ничего интересного не устанавливал и не обновлял.

Ну поставил PlayOnLinux и поиграл немного в Baldur's Gate, Icewind Dale, Alpha Centauri, стал пользоваться Remmina вместо rdesktop, после покупки SSD диска поставил из бекпортов ядро 3.2 и примонтировал корневой раздел с опцией discard чтобы TRIM правильно удалял файлы, после апгрейда оперативки до 8Гб убрал своп и примонтировал /tmp на 1Гб в память, поставил новый Xorg и Mesa из бекпортов чтобы посмотрать WebGL. За год ничего интересного. Linux просто работает. Все компьютеры в доме и в офисе под ним.

Но вот решил в новогодние каникулы покрасноглазить и сделать обновление до Debian 7 :)

Обновление прошло гладко по инструкции:
http://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.ru.html

Бекап делать так:

cp -r -x -a -v / /media/Backup

Главное не забыть -a, иначе права и владельцы файлов не перенесутся.

В рекавери консоли удалил все что ставил из бекпортов и вообще почти все снес, что не из стабильного Debian было. Потом накатил последние апдейты Squeeze, и наконец:

apt-get dist-upgrade

KDE Trinity меня полностью устраивает, поставил минимальный набор 3.5.13.2 и несколько любимых программ выборочно (Yakuake, Gwenview, Kdiff3, Kpowersave, Kbibtex, Kile).

Возникла одна проблема -- в Debian 7 не работает Knetworkmanager т.к. он не совместим с networkmanager9:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=642784

Баг направляют в Trinity:
http://bugs.pearsoncomputing.net/show_bug.cgi?id=521

Там разработчики Knetworkmanager из Suse (похоже наши парни) не могут долго ничего сделать и тянут резину (почитайте забавный диалог по ссылке) и Timothy Pearson (автор Trinity) все делает сам:

A new NetworkManager-0.9 compatible backend and ported tdenetworkmanager client are now available in GIT.

Не буду описывать мое многочасовое ковыряние исходников в безуспешных попытках портировать tdenetworkmanager из master версии Trinity в стабильную 3.5.13.2. Парни слишком много переименований KDE->TDE сделали, написали целый уровень абстракции над железом, на сотни килобайт кода, чтобы избавиться от HAL. В общем я забил на это.

Так как же настраивать Wifi? Я чуть было не поставил KDE4 (поставил, но испугался и удалил не загрузившись в него :). Потом увидел, что при установке wpa_supplicant (именно через него NM и все апплеты поднимают Wifi с WPA) рекомендуют пакет wpagui.

Быстро нагуглилось решение настройки роуминг Wifi (чего мне не хватало с Network Manager, он не всегда сам сеть подхватывал)

В /etc/network/interfaces пишем такое:

auto wlan0
iface wlan0 inet manual
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

В /etc/wpa_supplicant/wpa_supplicant.conf такое:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

Не забываем права т.к. все, что мы настроим в wpa_gui, пишется в этот файл открытым текстом:

chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf

Добавляем себя в группу netdev и перелогиниваемся:

adduser sin netdev

Выглядит wpa_gui страшно, но работает!

wpa_gui

Вот уж не думал, что снова придется на десктопе без NetworkManager работать, делать ifconfig wlan0 up и настраивать роут по умолчанию :) Но в качестве временного решения до выхода Trinity 3.5.14 должно хватить.

UPD: По CTRL+F выскакивает какой-то терминал. Удалил пакет xbindkeys.

Блог: RU Linux
RSS-материал