[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Загрузить линух не с /dev/sda а с /dev/sdb ? howto



09.10.2012 17:04, alexander пишет:
В Tue, 09 Oct 2012 16:39:41 +0400
Скубриев Владимир <vladimir@skubriev.ru> пишет:

09.10.2012 15:42, alexander пишет:
В Tue, 09 Oct 2012 15:22:22 +0400
Скубриев Владимир <vladimir@skubriev.ru> пишет:

09.10.2012 13:59, alexander пишет:
Привет)
У мя есть 2 жеских диска /dev/sda и /dev/sdb
А как мне сделать так, чтобы линух с другого жеского диска
грузился? У мя /boot находится в / (то есть это одно и то же
устройство для корневого раздела или root хз). Вот мои маунты:

root@alexander:/home/alexander# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs
(rw,relatime,size=10240k,nr_inodes=743818,mode=755) devpts
on /dev/pts type devpts
(rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs
on /run type tmpfs
(rw,nosuid,noexec,relatime,size=596324k,mode=755) /dev/disk/by-uuid/6b60d17a-f56a-4d3b-a48d-6b64e74cb323
on / type ext4
(rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs
(rw,nosuid,nodev,noexec,relatime,size=5120k) tmpfs on /tmp type
tmpfs (rw,nosuid,nodev,relatime,size=1192648k) tmpfs on /run/shm
type tmpfs (rw,nosuid,nodev,relatime,size=1192648k) /dev/sda6
on /home type ext4
(rw,relatime,user_xattr,barrier=1,data=ordered) /dev/sdb1
on /mnt/sdb1 type ext4
(rw,relatime,user_xattr,barrier=1,data=ordered) rpc_pipefs
on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)

Как скопировать boot на /dev/sdb и т.д. (а мож root хз) и сделать
так, чобы линух, который грузился с /dev/sda стал грузиться
с /dev/sdb ?


вывод вашего /etc/fstab не очень читаем - перешлите в нормальном
виде.

root@alexander:/home/alexander# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name
devices # that works even if disks are added and removed. See
fstab(5). #
# <file system> <mount point>   <type>  <options>       <dump>
<pass> # / was on /dev/sda1 during installation
UUID=6060d171-756a-4d3b-a48d-6b64e74cb769 /               ext4
errors=remount-ro 0       1 # /home was on /dev/sda6 during
installation
UUID=4b7012d1-14a1-43c1-8c39-f2ed0d82be5b /home           ext4
defaults        0       2 # swap was on /dev/sda5 during
installation UUID=7ddcef56-496c-4c4d-a690-addd7e8929a6
none            swap sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0
0

#My SSD1 disk
UUID=16317e21-3632-4d7a-8d8e-baa851e81d55 /mnt/ssd1       ext4
defaults

Иными словами я хочу, чобы загрузиться не с HDD /dev/sda, а с
SSD /dev/sdb (чобы грузилось быстрее). Но вот как это сделаь нинаю(


раздел /boot тут не при чем, точнее пользы в скорости загрузки с
раздела /boot находящегося на /dev/sdb (ssd-диске) не будет особой.

чтобы увеличить скорость загрузки нужно перенести всё, что
используется при загрузке системы т.е. почти все от  /bin до var/ на
ssd диск

судя по вашему fstab задача упрощается, т.к. почти все лежит у вас в
одной файловой системе (UUID=6060d171-756a-4d3b-a48d-6b64e74cb769 )

если ваш ssd разбит одним разделом с файловой системой ext4 для
переноса туда старого корня, то нужно

1. скопировать все файлы из UUID=6060d171-756a-4d3b-a48d-6b64e74cb769
в UUID=16317e21-3632-4d7a-8d8e-baa851e81d55

      лучше всего командой cp -Rp /* /mnt/ssd1/

      * - копируйте все по отдельности, кроме служебных ФС,
например /sys /dev/ /proc

       -p    Сохраняет  исходные  параметры  файла,  такие  как
владелец,  группа,  права  доступа  (включая  suid и sgid биты),
время последней
             модификации и время последнего доступа к файлу. В случае,
если установка владельца или группы приводит к ошибке, suid  и sgid
биты сбрасываются.   (Заметим,  что  впоследствии исходный файл и
его копия могут иметь разное время последнего доступа, так как
операция копирования является доступом к исходному файлу).

      после смонтировать в новый корень служебные ФС:

      mount --bind /dev /mnt/ssd1/dev
      mount --bind /sys /mnt/ssd1/sys
      mount --bind /proc /mnt/ssd1/proc

      далее сделать chroot

      chroot /mnt/ssd1

      grub2-mkconfig > /boot/grub/grub.cfg

      проверить, что там получилось: какие системы и откуда загружаются

      grub2-install /dev/sdb

      exit

      umount /mnt/ssd1/dev
      umount /mnt/ssd1/proc
      umount /mnt/ssd1/sys

      umount /mnt/ssd1

      reboot

      установит загрузку в bios с /dev/sdb

      примерно так

2. хотя конечно в вашем случае самым простым и лучшим решением будет:

      а. попытаться сделать так, чтобы ваш SSD диск был единственным
на время установки системы.

      б. переустановить систему на SSD

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

      г. пересоздать если необходимо файловые системы

      д. использовать команду  и /etc/fstab для того, чтобы
автоматически монтировались необходимые вам системы при загрузке
компьютера.

переносить вашу систему с обычного на ssd диск не так просто -
много нюансов возникнет.




ООоо)) спс) точно. Вспомнил. Мне же еще гентушка нужна)) Наверно я туда
ее и поставлю) спс)


Вот примерно в чем смысл загрузки.

Есть команда grub2-install она инсталлирует загрузчик стадии 1 512 Байт (boot.img) в Master Boot Record

Эта команда также записывает в MBR нахождение файла стадии 2, который в свою очередь находится уже на файловой системе

Поэтому очень важно, чтобы команда grub2-install вызывалась при смонтированном разделе /boot, т.к. файл стадии 2 лежите именно там.

Насколько я подозреваю в обычном дистрибутиве как правило используется core.img

Далее используется команда grub2-mkconfig, которая определяет установленные системы согласно правилам /etc/grub.d/ и своему собственному алгоритму и на выводе выдает файл grub.cfg, который в свою очередь по умолчанию ищется второй стадией загрузки в определенном месте, как правило /etc/grub/grub/cfg

Примерно то же самое делает установщик ОС.

Т.е. если у вас два накопителя, и вы хотите, чтобы вне зависимости от того, с какого накопителя загрузил биос код MBR у вас была возможность использовать любую из систем, то вам просто необходимо обновить список установленных систем в каждой системе командой grub2-mkconfig > /etc/grub/grub.cfg

Только желательно устанавливать ОС-мы при подключенном одном диске, т.к. тогда будет 100-ая гарантия, что grub будет записан в нужный MBR.

И уже после установки просто обновляете меню с подключенным вторым (первым) диском. Это порядок уже не будет иметь значения по идее.


--

С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

Скубриев Владимир
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Россия, Ростовская область, г. Таганрог

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru


Reply to: