Как создать живую постоянную Ubuntu USB на Mac, которая будет загружаться на Mac или ПК?

Огромная разница.

Как следует из названия, a double имеет в 2 раза большую точность, чем float [1] sup>. В общем случае a double имеет 15 десятичных цифр точности, в то время как float имеет 7.

Вот как рассчитывается количество цифр:

double имеет 52 бита мантиссы + 1 скрытый бит: log (2 53 sup>) ÷ log (10) = 15,95 цифры

float имеет 23 бита мантиссы + 1 скрытый бит: log (2 24 sup>) ÷ log (10) = 7,22 цифры

Эта потеря точности может привести к увеличению ошибок усечения при повторных вычислениях, например

float a = 1.f / 81;
float b = 0;
for (int i = 0; i < 729; ++ i)
    b += a;
printf("%.7g\n", b); // prints 9.000023

, в то время как

double a = 1.0 / 81;
double b = 0;
for (int i = 0; i < 729; ++ i)
    b += a;
printf("%.15g\n", b); // prints 8.99999999999996

Кроме того, максимальное значение float составляет около 3e38, а double - около 1.7e308, поэтому использование float может поразить «бесконечность» (т.е. специальное число с плавающей точкой) гораздо проще, чем double для чего-то простого, например вычисление факториала 60.

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


Конечно, иногда даже double недостаточно точен, поэтому у нас иногда есть long double [1] sup> (в приведенном выше примере на Mac 9.0000000000000066), но все Типы с плавающей запятой страдают от ошибок округления , поэтому, если точность очень важна (например, обработка денег), вы должны использовать int или класс дроби.


Кроме того, не используйте += для суммирования большого числа чисел с плавающей запятой, так как ошибки быстро накапливаются. Если вы используете Python, используйте fsum. В противном случае попробуйте реализовать алгоритм суммирования Кахана .


[1]: стандарты C и C ++ не определяют представление float, double и long double. Вполне возможно, что все три реализованы как IEEE двойной точности. Тем не менее, для большинства архитектур (gcc, MSVC; x86, x64, ARM) float действительно действительно число с плавающей запятой IEEE с одинарной точностью (binary32), а double равно число с плавающей точкой двойной точности IEEE (binary64). sup>

11
задан 03.05.2020, 18:54

5 ответов

Я перешел по следующей ссылке для создания live linux USB: http://ubuntuforums.org/showthread.php?t=2174630 Вместо MBR выберите раздел GUID, а затем добавьте постоянное слово в файл grub.cfg. , Это сработало для меня.

0
ответ дан 03.05.2020, 18:54
  • 1
    Я попробовал это и после того, как я загрузил и изменил несколько настроек, я попробовал к перезагрузке с помощью опции перезапуска в меню человечности и этом didn' t работа. Я вручную выключил свой компьютер и на, но когда я пытался загрузиться во второй раз, когда я закончил логотип Ubuntu, и затем мой экран почернел. Я попробовал это еще несколько раз и получил тот же результат. вот мой текст из grub.cfg файла: – Bill Gates 03.05.2020, 18:55
  • 2
    menuentry " Проверьте диск на defects" {набор gfxpayload=keep Linux /casper/vmlinuz.efi boot=casper проверка целостности подавляют шумы всплеска - initrd /casper/initrd.lz} – E.C 03.05.2020, 18:55
  • 3
    если loadfont/boot/grub/font.pf2; тогда набор gfxmode=auto insmod efi_gop insmod efi_uga insmod gfxterm terminal_output gfxterm fi установил набор menu_color_normal=white/black menu_color_highlight=black/light-gray menuentry " Попробуйте Ubuntu без installing" {набор gfxpayload=keep Linux /casper/vmlinuz.efi персистентный файл =/cdrom/preseed/ubuntu.seed boot=casper подавляют шумы всплеска - initrd /casper/initrd.lz} menuentry " Установка Ubuntu" {набор gfxpayload=keep Linux файл/casper/vmlinuz.efi =/cdrom/preseed/ubuntu.seed boot=casper единственная повсеместность подавляет шумы всплеска - initrd /casper/initrd.lz} – E.C 03.05.2020, 18:56
  • 4
    также, если Вы знаете о способе сделать личинку так, чтобы она автоматически загрузилась к " попробуйте человечность без installing" это ценилось бы также – KLZY 03.05.2020, 18:56

TLDR; Добавление «persistent» в grub.cfg - это то, что сломало загрузку для меня (завис на том же черном экране). Добавление файла casper-rw исправило это, и теперь у меня есть постоянство:)

Справочная информация: Я использую High Sierra, устанавливаю Ubuntu 16.04, 64-битная версия. Удалите USB с помощью Дисковой утилиты и установите MS-DOS (FAT32). Загруженный Ubuntu ISO, установленный на USB с UNetbootin . У меня была рабочая загрузка, но я хотел, чтобы linux распознал мой трекпад и клавиатуру на моем Macbook. Произошла ли установка и перезагрузка, и все настройки были потеряны - без сохранения: (

Добавил «persistent» в grub.cfg, и загрузка зависла после экрана логотипа Ubuntu. Оказывается, мне нужно было создать casper- Файл rw в корне моей флешки USB, запустив

dd if=/dev/zero of=casper-rw count=3500

Замените 3500 на размер хранилища, который вы хотите, чтобы ваш живой USB был. Я читал, что FAT32 поддерживает передачу файлов только под 4 ГБ так что вы можете иметь это в виду.

Я тестировал только пару файлов на своем рабочем столе, но он загружается и сохраняется.

Понял здесь [112 ].

0
ответ дан 03.05.2020, 18:55

Если вам нужен ваш Mac для загрузки с Ubuntu USB, на веб-сайте Ubuntu есть подробное руководство , объясняющее, как записать образ диска на USB .

В качестве альтернативы, если у вас есть доступ к Windows, загрузите Rufus . При выборе типа изображения выберите DD и выберите нужный файл ISO (ISO-образы Ubuntu являются гибридными, то есть их можно копировать в режиме ISO или DD). DD - это то, что вы хотите, это важная вещь. Также убедитесь, что для BIOS и UEFI вы установили схему разделов / тип целевой системы на MBR.

Что касается настойчивости, если кто-то еще может добавить / улучшить мой ответ, пожалуйста, сделайте это, поскольку у меня никогда не было опыта настройки постоянных томов.

0
ответ дан 03.05.2020, 18:56

На самом деле, я использую Mac Air 2013, который является 64-битным. Я установил ubuntu 13.10 64-битную версию. Я точно следовал тем же инструкциям, и фактически я использовал это много раз. На этом этапе вы можете попробовать следовать тому, что говорит, и на этот раз следовать как есть. Я имею в виду выбрать MBR, а не GUID. Если в вашей загрузочной папке нет файла grub.cfg, это нормально. Но проверьте в файле syslinux.cfg слово «постоянный». Если это там, это должно работать отлично. Я имею в виду, что это сработало для меня, я надеюсь, что это сработало бы и для вас. Попробуйте поиграть с файлами .cfg, и вы наверняка сможете это сделать.

0
ответ дан 03.05.2020, 18:56

Клонирование и, возможно, второй шаг

Вы можете использовать одношаговую или двухшаговую процедуру. dd является мощным, но также и опасным инструментом, который «всегда» доступен в MacOS. Будьте очень осторожны, проверьте и перепроверьте, все ли правильно, прежде чем начинать процесс клонирования.

  • Один шаг: Если вы найдете [сжатый] файл изображения системы [на основе] Ubuntu, который постоянно работает и может делать то, что вы хотите, клонируйте его на USB-накопитель или карту памяти. Если загруженный файл сжат, его необходимо извлечь перед клонированием, например

    file.img.zip -> file.img

    file.img.xz -> file. img

    Размонтируйте все разделы на целевом диске и запустите dd

    sudo dd bs=1m if=path_of_your_image.img of=/dev/rdiskn
    

    , где n - это число (например, /dev/rdisk4).

    В есть подсказки по этой ссылке .

  • Два шага: Скачать и клонировать [сжатый] файл образа системы на основе Ubuntu, который постоянно работает и содержит mkusb.

    Загрузка с USB-накопителя или карты памяти, которая была сделана загрузочной при клонировании.

    Загрузите iso-файл версии и версии Ubuntu, который вы хотите установить как постоянный.

    Запустите mkusb-dus и создайте постоянный живой диск на другом USB-накопителе или карте памяти.

  • Ссылки

    Установка образов операционной системы в Mac OS (www.raspberrypi.org)

    help.ubuntu.com/community/ mkusb

    help.ubuntu.com/community/mkusb/persistent

    Сжатый файл изображения с постоянной рабочей системой и mkusb

0
ответ дан 03.05.2020, 18:57
  • 1
    1. Стандартный метод mkusb состоит в том, чтобы клонировать файл ISO или файл изображения. При выполнении этого, это ' only' обертывает ремень безопасности [приблизительно 111], таким образом, он должен работать во всех случаях, где клонированное изображение работает. В Вашем случае, клонирующемся с dd, работы и клонирующемся с mkusb должны работать также; 2. Метод для создания персистентного живого диска (в mkusb) сделан для компьютеров ПК и не протестирован в аппаратных средствах Mac. Это может или не может работать в зависимости от аппаратных средств и системы UEFI/BIOS. – Christian 03.05.2020, 18:57
  • 2
    @Derwent, опишите метод, который Вы использовали с как можно большим количеством деталей. Какая операционная система использовалась на каждом шаге. То, какой инструмент использовался и как был, используется на каждом шаге? Какая операционная система и какую версию Вы пытались установить (какой файл ISO или img файл Вы использовали)? Вы пытались клонировать или создать персистентную живую систему? – Alexandru Martin 03.05.2020, 18:58
  • 3
    Эй @sudodus я установил mkusb-dus на Фрагменте Debian Livedisk и использовал это для создания персистентности на другом USB с помощью того же живого изображения. Я использовал изображение гнома здесь: cdimage.debian.org/debian-cd/current-live/amd64/bt-hybrid , К сожалению, это didn' t обнаруживаются как загрузочные на моей Сетчатке MacBook Pro 11,3 Середин 2014, которые имеют особые требования для таблиц разделов, чтобы быть в состоянии загрузиться. Это загрузит живой диск что я dd' d на диске, но не диске создается с mkusb. Аппаратные средства Mac поддерживаются mkusb? Спасибо. – SuperStew 03.05.2020, 18:58
  • 4
    @Derwent, Таким образом, мой ответ - то, что аппаратные средства Mac не поддерживаются для персистентных живых дисков. В некоторых случаях это работает, но это активно не тестируется в разработке mkusb. Альтернатива, которая могла бы работать, является ' Сделайте это yourself' метод описан в следующих ссылках, help.ubuntu.com/community/Installation/iso2usb и help.ubuntu.com/community/Installation/iso2usb/diy . При попытке этого метода совместно используйте результат, и я изменю свой ответ. – ceejayoz 03.05.2020, 18:59
  • 5
    Действительно ли кто-либо был в состоянии получить эту работу над Mac? Я выполнил эти шаги, но usb, созданный с mkusb-dus doesn' t начальная загрузка, несмотря на ту же начальную загрузку изображения, записано с помощью другого метода.: ( – KLZY 03.05.2020, 18:59

Теги

Похожие вопросы