{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Аникин: заметки с тегом mbr",
    "_rss_description": "Блог об администрировании Linux, BSD и не только",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/anikin.pw\/tags\/mbr\/",
    "feed_url": "https:\/\/anikin.pw\/tags\/mbr\/json\/",
    "icon": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884",
    "authors": [
        {
            "name": "Петр Аникин",
            "url": "https:\/\/anikin.pw\/",
            "avatar": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884"
        }
    ],
    "items": [
        {
            "id": "32",
            "url": "https:\/\/anikin.pw\/all\/zamena-dika-v-programnom-raid1-v-linux\/",
            "title": "Замена диска в програмном RAID1 в Linux",
            "content_html": "<p>Оглавление:<\/p>\n<p>\n<ol>\n\t<a href=\"http:\/\/anikin.pw\/all\/zamena-dika-v-programnom-raid1-v-linux\/#del\">I. Удаление диска из массива<\/a><\/br>\n\t<a href=\"http:\/\/anikin.pw\/all\/zamena-dika-v-programnom-raid1-v-linux\/#add\">II. Добавление диска в массив после замены<\/a><\/br>\n\t<a href=\"http:\/\/anikin.pw\/all\/zamena-dika-v-programnom-raid1-v-linux\/#parttabl\">&emsp;1. Определение таблицы разделов(GPT или MBR) и перенос её на новый диск<\/a><\/br>\n\t<a href=\"http:\/\/anikin.pw\/all\/zamena-dika-v-programnom-raid1-v-linux\/#adddisk\">&emsp;2. Добавление диска в массив<\/a><\/br>\n\t<a href=\"http:\/\/anikin.pw\/all\/zamena-dika-v-programnom-raid1-v-linux\/#grub\">III. Установка загрузчика<\/a>\n<\/ol><p>\nУ нас есть сервер в котором 2 диска: \/dev\/sda и \/dev\/sdb. Эти диски собраны у нас в софтверный RAID1 с помощью mdadm. Один из дисков вышел из строя, в нашем случае это \/dev\/sdb.<p>\n<a name=\"del\"><\/a>\n<b>I. Удаление диска из массива<\/b><p>\n\nПеред заменой диска желательно убрать диск из массива. Для начала проверим как размечен диск в массиве:<p>\n<pre class=\"e2-text-code\"><code class=\"\"># cat \/proc\/mdstat \nPersonalities : [raid1] [raid0] [raid6] [raid5] [raid4] \nmd2 : active raid1 sda4[0] sdb4[1]\n      1456504640 blocks super 1.2 [2\/2] [UU]\n      \nmd1 : active raid1 sda3[0] sdb3[1]\n      7996352 blocks super 1.2 [2\/2] [UU]\n      \nmd0 : active raid1 sda2[0] sdb2[1]\n      499392 blocks super 1.2 [2\/2] [UU]\n      \nunused devices: &lt;none&gt;<\/code><\/pre><p>\n\nВ данном случае массив собран так. Что md0 состоит из sda2 и sdb2, md1 из sda3 и sdb3, md2 из sda4 и sdb4. На этом сервере md0 это \/boot, md1 — своп, md2 — корень. Убираем sdb из всех устройств.<p>\n\n<pre class=\"e2-text-code\"><code class=\"\"># mdadm \/dev\/md0 --remove \/dev\/sdb2\n# mdadm \/dev\/md1 --remove \/dev\/sdb3\n# mdadm \/dev\/md2 --remove \/dev\/sdb4<\/code><\/pre><p>\n\nЕсли разделы из массива не удаляются, это как в нашем случае. Mdadm не считает диск неисправным и использует его, и при удалении мы увидим ошибку, что устройство используется. В этом случае перед удалением помечаем диск как сбойный.<p>\n\n<pre class=\"e2-text-code\"><code class=\"\"># mdadm \/dev\/md0 -f \/dev\/sdb2\n# mdadm \/dev\/md1 -f \/dev\/sdb3\n# mdadm \/dev\/md2 -f \/dev\/sdb4<\/code><\/pre><p>\n\nА затем снова выполним команды по удалению разделов из массива.\nВсе, мы удалили сбойный диск из массива. Теперь можем писать в датацентр запрос на замену диска.<p>\n<a name=\"add\"><\/a>\n<b>II. Добавление диска в массив после замены<\/b><p>\n<a name=\"parttabl\"><\/a>\n&emsp;&emsp;<b>1. Определение таблицы разделов(GPT или MBR) и перенос её на новый диск<\/b><p>\nПосле замены поврежденного диска нужно добавить новый диск в массив. Для этого надо определить какая у нас таблица разделов: GPT или MBR. Для этого будем использовать gdisk\nУстановим gdisk:<p>\n<pre class=\"e2-text-code\"><code class=\"\"># apt-get install gdisk -y<\/code><\/pre><p>\nВыполняем:<p>\n<pre class=\"e2-text-code\"><code class=\"\"># gdisk -l \/dev\/sda<\/code><\/pre><p>\nГде \/dev\/sda — исправный диск находящийся в raid.\nВ выводе будет примерно это для MBR:<p>\n<pre class=\"e2-text-code\"><code class=\"\">Partition table scan:\nMBR: MBR only\nBSD: not present\nAPM: not present\nGPT: not present<\/code><\/pre><p>\n\nИ примерно это для GPT:<p>\n<pre class=\"e2-text-code\"><code class=\"\">Partition table scan:\nMBR: protective\nBSD: not present\nAPM: not present\nGPT: present<\/code><\/pre><p>\n\nПеред добавлением диска в массив нам нужно на нем создать разделы в точности такие же как и  на sda. В зависимости от разметки диска это делается по разному.<p>\n<b>Копирование разметки для GPT:<\/b><p>\n<pre class=\"e2-text-code\"><code class=\"\"># sgdisk -R \/dev\/sdb \/dev\/sda<\/code><\/pre><p>\nЗдесь надо быть внимательным. Первым пишется диск на который копируется разметка, а вторым с которого копируют. Если перепутать их местами, то разметка на изначально исправном диске будет уничтожена.<\/br>\nДаем диску новый случайный UIDD:<p>\n<pre class=\"e2-text-code\"><code class=\"\"># sgdisk -G \/dev\/sdb<\/code><\/pre><p>\n<b>Копирование разметки для MBR:<\/b><p>\n<pre class=\"e2-text-code\"><code class=\"\"># sfdisk -d \/dev\/sda | sfdisk \/dev\/sdb<\/code><\/pre><p>\nЗдесь наоборот первым пишется диск с которого переносим разметку, а вторым на который переносим.\nЕсли разделы не видны в системе, то можно перечитать таблицу разделов командой:<p>\n<\/code># sfdisk -R \/dev\/sdb<\/code><p>\n<a name=\"adddisk\"><\/a>\n&emsp;&emsp;<b>2. Добавление диска в массив<\/b><p>\nКогда мы создали разделы на \/dev\/sdb, то можно добавлять диск в массив.<p>\n<pre class=\"e2-text-code\"><code class=\"\"># mdadm \/dev\/md0 -a \/dev\/sdb2\n# mdadm \/dev\/md1 -a \/dev\/sdb3\n# mdadm \/dev\/md2 -a \/dev\/sdb4<\/code><\/pre><p>\n<a name=\"grub\"><\/a>\n<b>III. Установка загрузчика<\/b><p>\nПосле добавления диска в массив нужно установить на него загрузчик. Если сервер загружен в нормальном режиме, то это делается одной командой:<p>\n<pre class=\"e2-text-code\"><code class=\"\"># grub-install \/dev\/sdb<\/code><\/pre><p>\nЕсли сервер загружен в recovery или rescue, т.е с live cd, то установка загрузчика выглядит следующим образом.<\/br>\nМонтируем корневую файловую систему в  \/mnt:<p>\n<pre class=\"e2-text-code\"><code class=\"\"># mount \/dev\/md2 \/mnt<\/code><\/pre><p>\nМонтируем boot:<p>\n<pre class=\"e2-text-code\"><code class=\"\"># mount \/dev\/md0 \/mnt\/boot<\/code><\/pre><p>\nМонтируем \/dev, \/proc и \/sys:<p>\n<pre class=\"e2-text-code\"><code class=\"\"># mount --bind \/dev \/mnt\/dev\n# mount --bind \/proc \/mnt\/proc\n# mount --bind \/sys  \/mnt\/sys<\/code><\/pre><p>\nЗатем делаем chroot в примонтированную систему:<p>\n<pre class=\"e2-text-code\"><code class=\"\"># chroot \/mnt<\/code><\/pre><p>\nИ устанавливаем grub на sdb:<p>\n<pre class=\"e2-text-code\"><code class=\"\"># grub-install \/dev\/sdb<\/code><\/pre><p>\nТеперь можно попробовать загрузится в нормальный режим.\n<p>\n<b>P.S.<\/b>\nЕсли при установке загрузчика возникнет ошибка Could not find device for \/boot\/boot: not found or not a block device то вам <a href=\"http:\/\/anikin.pw\/all\/could-not-find-device-for-boot-boot-not-found-or-not-a-block-dev\/\">сюда<\/a>.",
            "date_published": "2014-08-08T09:42:17+03:00",
            "date_modified": "2015-01-25T11:26:21+03:00",
            "tags": [
                "debian",
                "gdisk",
                "GPT",
                "mbr",
                "mdadm",
                "raid",
                "raid1",
                "ubuntu"
            ],
            "_date_published_rfc2822": "Fri, 08 Aug 2014 09:42:17 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "32",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "10",
            "url": "https:\/\/anikin.pw\/all\/sozdanie-ustanovochnoy-fleshki-windows-7-iz-pod-linux\/",
            "title": "Создание установочной флешки Windows 7 из под Linux.",
            "content_html": "Несколько способов создать загрузочную флешку Windows 7 из под linux.<p>\r\n\r\nСпособ первый:<p>\r\n\r\nКомандой fdisk -l определяем флешку. Затем с помощью dd записываем iso образ c windows на флешку:<p>\r\n\r\n<code># dd if=\/home\/user\/windows7.iso of=\/dev\/sdX<\/code><p>\r\n\r\nГде \/dev\/sdX — флешка. Теперь вот <a href=\"http:\/\/ms-sys.sourceforge.net\/\" target=\"_blank\">здесь<\/a> качаешь и по инструкции устанавливаешь утилиту ms-sys, которая пропишет правильную MBR для нашей флешки. <p>\r\nУстановка простая:<p>\r\n\r\n2. Installation<p>\r\n---------------<p>\r\n\r\nStep 1, unpack the archive:<p>\r\n\r\ntar -xzvf ms-sys*.tgz<p>\r\n\r\nStep 2, compile:<p>\r\n\r\ncd ms-sys<p>\r\nmake<p>\r\n\r\nStep 3, become root and install<p>\r\n\r\nsu (and give password)<p>\r\nmake install<p>\r\nДумаю здесь всё понятно. Затем выполняем:<p>\r\n\r\n<code># ms-sys -7 \/dev\/sdX<\/code><p>\r\n\r\nЗагружаемся с флешки и устанавливаем windows.<p>\r\n\r\nСпособ второй:<p>\r\n\r\nС помощью unetbootin. Сразу скажу, что не знаю насколько работает этот способ. У меня изначально не сложились отношения с unetbootin, на мой взгляд слишком сырая программа, ИМХО. Но многим нравится.<p>\r\n\r\nДля начала нужно отформатировать флешку в ntfs. Проверьте чтобы флешка была отмонтирована. Если это не так, то отмонтируйте командой umount. Форматируем:<p>\r\n\r\n<code># mkfs.ntfs \/dev\/sdX<\/code><p>\r\n\r\nЗатем устанавливаем unetbootin.<p>\r\n\r\n<code># apt-get install unetbootin<\/code><p>\r\n\r\nЗапускаем. Выглядит она вот так:<p>\r\n\r\n<a href=\"https:\/\/anikin.pw\/pictures\/uploads\/Snimok-e`krana-ot-2013-10-20-101758.png\"><img src=\"https:\/\/anikin.pw\/pictures\/uploads\/Snimok-e`krana-ot-2013-10-20-101758-300x223.png\" alt=\"Снимок экрана от 2013-10-20 10:17:58\" width=\"300\" height=\"223\" class=\"alignnone size-medium wp-image-20\" \/><\/a><p>\r\n\r\nВыбираем образ, ваш носитель(\/dev\/sdX) и нажимаем «ОК». После создания флешки, загружаемся с неё и устанавливаем windows.<p>\r\n\r\nСпособ третий:<p>\r\n\r\nНа мой взгляд самый лучший и простой способ. С помощью утилиты winusb. Плюс этой утилиты в том что на флешку она ставит загрузчик grub, который отлично загружается практически на всём возможном железе. И уже grub запускает установщик windows. Установка програмы очень проста:<p>\r\n\r\n<code># add-apt-repository ppa:colingille\/freshlight<p>\r\n# apt-get update<p>\r\n# apt-get install winusb<\/code><p>\r\n\r\nА интерфейс ещё проще чем установка.<p>\r\n\r\n<a href=\"https:\/\/anikin.pw\/pictures\/uploads\/Snimok-e`krana-ot-2013-10-20-101914.png\"><img src=\"https:\/\/anikin.pw\/pictures\/uploads\/Snimok-e`krana-ot-2013-10-20-101914-228x300.png\" alt=\"Снимок экрана от 2013-10-20 10:19:14\" width=\"228\" height=\"300\" class=\"alignnone size-medium wp-image-21\" \/><\/a><p>\r\n\r\nВыбираете либо iso образ, либо диск в приводе. Выделяете вашу флешку. Затем жмете кнопку install. Загружаетесь с флешки, устанавливаете windows.<p>\r\n\r\nВот три простейших способа создать загрузочную флешку windows 7 из под Linux.",
            "date_published": "2013-10-20T11:22:51+03:00",
            "date_modified": "2017-02-19T16:28:54+03:00",
            "tags": [
                "dd",
                "Linux",
                "liveusb",
                "mbr",
                "ms-sys",
                "unetbootin",
                "Windows 7",
                "winusb",
                "загрузочная флешка"
            ],
            "_date_published_rfc2822": "Sun, 20 Oct 2013 11:22:51 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "10",
            "_e2_data": {
                "is_favourite": false,
                "links_required": null,
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}