[решено] Arch + Win10

нужно сначала правильно продумать разметку чтобы потом ничего не двигать!
да и перемещение разделов дело чрезвычайно опасное и без полного бекапа для 100% гарантии не обойтись.
а раз есть бекап, зачем двигать что то? можно хоть с нуля переразметить ;) а по времени тоже самое или даже быстрее получится...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
а по времени тоже самое или даже быстрее
именно... именно так я и думал, когда время на сдвиг диска уходило в разы больше чем копирование временно на другой диск, учитывая что при разных дисках головка не прыгает из точки чтения в точку записи, а только читает, а другой диск записывает, а потом наоборот. Копирование 2 часа, а он например молотит 5 часов.
мои программы
AZJIO
пытаясь определить тип диска читая начало диска
и как определяешь?
Ошибки не исчезают с опытом - они просто умнеют
vasek
AZJIO
пытаясь определить тип диска читая начало диска
и как определяешь?
код 40 строк, могу дать исходник. Так как делал на Windows, то функция чтения начала диска из WInAPI. Захватил 1024 байт от начала в позициях 0 To 7 и 512 To 519 проверяется EFI PART, если найдено то GPT, иначе проверка в позициях 510 бинарного 55 и в 511 бинарного AA, то есть концовка блока 55AA это можно увидеть ив гугле.
мои программы
AZJIO
код 40 строк, могу дать исходник. Так как делал на Windows, то функция чтения начала диска из WInAPI. Захватил 1024 байт от начала в позициях 0 To 7 и 512 To 519 проверяется EFI PART, если найдено то GPT, иначе проверка в позициях 510 бинарного 55 и в 511 бинарного AA, то есть концовка блока 55AA это можно увидеть ив гугле.
Очень мудрено, все намного проще, нужно проверить наличие заголовка GPT и считать, при необходимости, нужную информацию - так делают все утилиты (но можно и ручками), например, вывод gdisk (нетипичный вывод - присутствует и GPT и MBR)
sudo gdisk -l /dev/sdb
Partition table scan:
  MBR: hybrid
  GPT: present
Проверка ручками
Signature - 5452415020494645 (ASCII строка EFI PART)
sudo hexdump -C -s 512 -n 8 /dev/sdb
00000200  45 46 49 20 50 41 52 54                           |EFI PART|
В тоже время имеется и MBR (вывод partition table не привел)
sudo hexdump -C -s 510 -n 2 /dev/sdb
000001fe  55 aa
… то есть имеем MBR: hybrid, GPT: present - что и показал gdisk.
Это к тому, что проще использовать готовые утилиты, а уж если нужно что то прояснить, то смотреть ручками.
Ошибки не исчезают с опытом - они просто умнеют
AZJIO
именно… именно так я и думал,
+1
вот все что ты описал в этом посте, я хотел оставить в качестве моего ответа на твое возражение )))
правда не в разы, но быстрее однозначно.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Не понимаю о чём спор :)

Минусы mbr.
1. Загрузчик полуторной стадии находится в неразмеченной области. Для меня было бредом как только я узнал об этом.
2. Сама таблица только на четыре раздела.
Вроде решается расширенным разделом. Но...
В мбр на месте одного из разделов добавляется адрес расширенного.
По этому адресу расположена ещё одна таблица на четыре раздела. В ней указан реальный адрес пятого раздела и адрес следующей таблицы. В ней указаны адрес шестого раздела и адрес следующей таблицы. И т.д.

Представляете логику работы софта при работе с этой конструкцией?

А теперь представьте, что одна из таблиц в начале цепочки повредилась...
Веселья предостаточно. Сталкивался. Знаю.

Плюсы gpt.
1. Большее количество разделов. Избавляет от этой цепочки.
2. Резервная таблица. Выручает при повреждении основной.
3. Размер таблицы настраивается. Если знаешь, что больше четырёх разделов никогда не понадобится, то сама таблица будет меньше.
4. Разделы для загрузчиков.

Тот же 1,5-stage лежит себе в разделе. Легко например сделать его резервную копию без заморочек. В мбр же вспоминай по какому смещению он расположен.
Lupus pilum mutat, non mentem.
Даже в мобилах уже давно gpt :)
С ней проще стало.
# ./gdisk /dev/block/mmcblk0
GPT fdisk (gdisk) version 0.8.4

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): r

Recovery/transformation command (? for help): o

Disk size is 30212096 sectors (14.4 GiB)
MBR disk identifier: 0x00000000
MBR partitions:

Number  Boot  Start Sector   End Sector   Status      Code
   1                     1     30212095   primary     0xEE

Recovery/transformation command (? for help): p
Disk /dev/block/mmcblk0: 30212096 sectors, 14.4 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 00000000-0000-0000-0000-000000000000
Partition table holds up to 23 entries
First usable sector is 1024, last usable sector is 30211071
Partitions will be aligned on 256-sector boundaries
Total free space is 0 sectors (0 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            1024            7167   3.0 MiB     0700  proinfo
   2            7168           17407   5.0 MiB     0700  nvram
   3           17408           37887   10.0 MiB    0700  protect1
   4           37888           58367   10.0 MiB    0700  protect2
   5           58368           58879   256.0 KiB   0700  seccfg
   6           58880           59647   384.0 KiB   0700  lk
   7           59648           92415   16.0 MiB    0700  boot
   8           92416          125183   16.0 MiB    0700  recovery
   9          125184          126207   512.0 KiB   0700  para
  10          126208          142591   8.0 MiB     0700  logo
  11          142592          163071   10.0 MiB    0700  expdb
  12          163072          165119   1024.0 KiB  0700  frp
  13          165120          175359   5.0 MiB     0700  tee1
  14          175360          185599   5.0 MiB     0700  tee2
  15          185600          251135   32.0 MiB    0700  nvdata
  16          251136          327679   37.4 MiB    0700  metadata
  17          327680          331775   2.0 MiB     0700  oemkeystore
  18          331776          344063   6.0 MiB     0700  secro
  19          344064          360447   8.0 MiB     0700  keystore
  20          360448         5488639   2.4 GiB     0700  system
  21         5488640         6012927   256.0 MiB   0700  cache
  22         6012928        30178303   11.5 GiB    0700  userdata
  23        30178304        30211071   16.0 MiB    0700  flashinfo 
Lupus pilum mutat, non mentem.
jim945
Не понимаю о чём спор :)
Да ни о чём :)
Просто какое-то сектантство.
vasek
все намного проще
так вы просили ручной способ приведя цитату, то что просили то и дал, это не значит что я использую этот способ. В том посте я указал что использовал функции WinAPI. Если вы хотите рассказать о способе в Linux я не против послушать, но не как противопоставление.
мои программы
 
Зарегистрироваться или войдите чтобы оставить сообщение.