![Подготовьте систему](https://rvso.com/image/1108664/%D0%9F%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D1%8C%D1%82%D0%B5%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%83.png)
У меня есть совершенно новый SSD, и я хотел бы установить на него 12.04 с файловой системой nilfs для корневого раздела.
Я не могу найти простого способа сделать это. Если я загружу с LiveCD 12.04, я смогу установить nilfs-tools (мне пришлось скачать его через wget -- похоже, я не смог его загрузить через apt-get) и смог отформатировать раздел как nilfs через mkfs.nilfs.
Однако когда я нажимаю «установить Ubuntu», запускаю установщик и говорю ему, что хочу выбрать раздел, он хочет переформатировать его и предлагает мне только другие файловые системы (reiser, ext и т. д.), но не nilfs, хотя поддержка nilfs установлена (мне удалось создать файловую систему nilfs на моем разделе).
Есть ли у вас какие-нибудь советы или предложения?
решение1
Как отметил Роланд Тейлор, вы можете сначала выполнить установку на раздел ext4 с помощью установщика, а затем перенести ее на раздел nilfs.
Подготовьте свободный раздел для системы. Он будет смонтирован как /
, назовем его NILFS.
И вам понадобится еще один раздел для установки Ubuntu, это может быть usb-диск или другой раздел на диске, назовем его EXT.
Вам не нужен отдельный /boot
раздел, так как grub 1.99, поставляемый с Ubuntu 12.04, уже поддерживает загрузку с файловой системы nilfs2.
Подготовьте систему
Выполняете обычную установку Ubuntu на EXT.
Установите nilfs-tools и отформатируйте свободный раздел в nilfs2.
По умолчанию initramfs в Ubuntu не имеет модуля ядра nilfs.
Вам необходимо его регенерировать:
sudo echo nilfs2 >> /etc/initramfs-tools/modules
sudo update-initramfs -u
Передача системы
Загрузите Ubuntu 12.04 livecd. Установите nilfs-tools. (Вам нужно изменить источники в Центре приложений перед этим apt-get install nilfs-tools
.)
Смонтируйте EXT и NILFS, затем скопируйте свою систему:
sudo cp -ax /media/EXT/* /media/NILFS/*
(Вместо этого можно использовать rsync
.)
Затем отредактируйте свой /media/NILFS/etc/fstab
, измените строку /
. (Измените uuid, ext4->nilfs2. Я рекомендую добавить noatime,async,discard
параметры монтирования для SSD.)
Затем отредактируйте конфигурацию grub и переустановите grub. СмотритеУбунту Викидля того, как настроить grub. Обратите внимание, что вам нужно изменить файл конфигурации grub перед переустановкой. Я предлагаю chroot в NILFS, и просто использовать dpkg-reconfigure
для изменения конфигурации и переустановки сразу.
Теперь вы можете перезагрузиться в Ubuntu 12.04 на базе nilfs2! :-)
Хотя я не проверял, но приведенные выше инструкции должны работать. Фактически, я использовал тот же метод для переноса моего Ubuntu 10.04 с ext3 на nilfs2. Поскольку grub Ubuntu 10.04 не поддерживает загрузку с nilfs2, я использовал ext2 в качестве /boot
. Но недавно я загрузил Ubuntu 12.04 live cd, чтобы проверить, работает ли 12.04 на моем нетбуке. Так что только что я скопировал /boot/
обратно в /
раздел, изменил файл конфигурации grub и использовал grub-install 12.04, чтобы переустановить grub. И это сработало! (Так что, может быть, я смогу превратить бесполезный отдельный загрузочный раздел в небольшой раздел подкачки?)
P.S. Если вам не нравится этот метод, вы можете попробовать установить через debootstrap. Я думаю, это тоже сработает.
решение2
По сути, вы пока не можете этого сделать, поскольку установщик это не поддерживает.
Технически возможно перенести установку, скажем, с EXT4 на NILFS (установив на раздел, а затем перенеся на раздел NILFS), но для этого также потребуется отдельный загрузочный раздел (и, как вы видите, это становится все сложнее).
По сути, ответ на данный момент: «Вы не можете». Также помните, что NILFS — это довольно новый стандарт, поэтому поддержка такого шага маловероятна.