Помощь с ссд
Всем привет, похерил где то флешку, есть ссд с набором нужных прог. Можно его как то разделить, чтоб и проги остались и создать загрузочную область для винды без потери программ? Руфусом записать или как то так
спасибо огромное
Немножечко капельку графомании.
Помню, как когда-то давно, когда еще Windows (XP которая) была еще маленькая, решил я сменить ее на более "новую, удобную, совершенную, надежную" Windows 7.
И оху сильно изумился тому, как сильно "подросли" требования ОС к размеру дискового пространства. Чем и поделился на одном из форумов.
Получил в ответ: "Ты дебил? Раз надо (столько места) - значит, надо! Купи диск побольше, да и всё!"
Совет очень не устроил. Не тем, что придется потратить деньги на то, что мне, по идее, не нужно, а в принципе.
Попробую объяснить на примере (аналогия).
Скажем, купил я себе хату. Пустую изначально. Огляделся и понял, что надо бы всякие там "удобства": сортир, ванну, холодильник, микроволновку...
Пошел в магазин, выбрал холодильник, заплатил. Привезли. В магазине он был метр на метр по площади и метр в высоту. А тут внезапно затаскивают в хату не только его, но и еще 5-6 коробок не меньше размером. Спрашиваю: "это чё такое?" Объясняют: "вот это - генератор. На случай, если электроэнергия пропадет. Ты же не хочешь, чтобы продукты испортились?
Вот это - блок батарей: генератор не сразу запускается. Да и бензин в нем может кончиться, а ты забудешь залить. Так что наш холодильник сможет работать от батарей.
Вот это - баки с хладагентом. Если вдруг случится авария (кошка прокусит трубку, и хладагент вытечет), то наш мастер всегда сможет заполнить систему из этих баков."
Говорю: "так у меня нету кошки." "Нету?", - отвечают, - "а ты заведи!"
Говорю: "мужики! А жить-то мне где? Ваше гавно барахло половину хаты заняло!"
"Ты дебил? Купи хату побольше, да и всё!"
Завтра иду покупать сральник. Что-то к нему в комплекте привезут?..
Примерно так, как сделано в Windows. Вот бережно хранимая папочка с драйверами, которые когда-то стояли в системе. Они уже умерли и сгнили, но их все равно стоит хранить: вдруг когда-нибудь понадобятся? Вот папочка (столь же бережно хранимая) с предыдущими версиями установленных (или уже удаленных, но когда-то установленных) программ (всякие Х*яндекс.Браузер и ГуглеХром любят "навалить кучу и потом туда подваливать")
Мораль: ... но Линух еще хуже!
Программа для создания идеально подогнанных аватарки и фона профиля для сайта Pikabu.ru. Загружаете одно изображение — получаете готовый набор файлов с правильными размерами.
Сделал это на Питоне с помощью ЧатаЖипити. Просто мне лень было качать фотошоп -_-
Фон профиля — 700×140 пикселей (JPG)
Круглая аватарка — 128×128 пикселей с прозрачным фоном (PNG)
Вертикальное смещение — ползунок для точной настройки позиции
Светлая/тёмная тема интерфейса
Живой предпросмотр — видите результат до сохранения
Белая обводка аватара (опционально)
Скачайте с python.org
⚠️ При установке обязательно
отметьте галочку "Add Python to PATH"
Откройте терминал и выполните:
Windows (cmd или PowerShell):
py -m pip install Pillow
Альтернативные варианты (если не сработало):
py -3 -m pip install Pillow
python -m pip install Pillow
pip install Pillow --user
Linux / macOS:
pip3 install Pillow
Далее создайте файл с расширением .py назовите как хотите, откройте через блокнот
и скопируйте это (ВИРУСОВ ТАМ НЕТ, ЭТО ИСХОДНЫЙ КОД)
в ваш файл и нажмите сохранить, после чего просто нажимаете на этот файл и всё.
Файлы сохраняются в ту же папку, где находится исходное изображение:
💡 Префикс pikabu
можно изменить в настройках программы
З.Ы
Уважаемые @moderator, программа с вашим сайтом ни как не взаимодействует!
Только режет картинки и все!
Для лиги лени: экосистема Linux продолжает деградировать
Если чего-то нет в линуксе, то оно нинужно.
Если речь о функционале, который есть в линуксе, упоминается всё, что бывает в теории, включая функционал дорогих энтерпрайзных закрытых дистрибутивов типа RedHat’а. Всё это автоматически считается “есть в линуксе, а это тождественно тому, что есть в любом линуксе”.
Если у какого-то кроссплатформенного софта есть версия под linux, то этот софт является линукс-софтом и все возможности этого софта автоматически приплюсовываются к возможностям линукса. Появление этого софта на других платформах автоматически считается “а, из линукса украли” – даже если этот софт создан до создания linux.
Если речь об уязвимостях, то линукс это только ядро, софт отношения к нему не имеет. Уязвимости софта – это не проблема линукса.
Прошедшие пару недель ознаменовались очередным расширением списка дырищ в экосистеме Linux.
Согласно мнению некоторых персонажей, в опенсорсе присутствуют волшебные бесплатные фиксики, поэтому, если в опенсорсе и есть какие-то баги, живущие там десятилетиями, то это пропаганда Microsoft, Oracle, IBM (все трое – крупнейшие из разработчиков Opensource\Linux, IBM с недавних пор – владелец Red Hat).
В реальности
В одной из вариаций на тему Git – Gogs, еще 23 декабря 2024, год назад, нашли дыру с дверь ангара для Боинга: CVE-2024-55947
Спустя год оказалось, что дыру не закрыли, а кое-как залатали досками, и теперь владельцев сервиса, злые люди активно пользуют в ту же самую дыру, только с другим названием - CVE-2025-8110. Новость в мире появилась еще вчера на theregister (Wed 10 Dec 2025 // 21:31 UTC), сегодня ее потащили по новостным каналам.
В Tika (сервис по определению типа файла и его метаданных)
20 августа 2025 в нем нашли дыру на 10 из 10 - CVE-2025-54988. Вроде кое-как заколотили досками, но – 4.12.2025 ни разу не было и вот опять, CVE-2025-66516.
Что тут сказать? Полгода-год, на повторную дыру, это еще быстро. Серьезные дыры в базовых сервисах Linux существуют годами, как Heartbleed (CVE-2014-0160) и SambaCry (CVE-2017-7494), а просто кривой код на уровне ядра, типа проблемы планировщика Completely Fair Scheduling (CFS) может быть и лет 10, может и больше, начиная с kernel 2.6.38+ и далее.
На фоне таких новостей очень интересно читать рассекреченные документы АНБ – и про то, что Windows стал очень плохо взламываться, и про то, что в сообщество Linux разработки вполне удается проносить специально ослабленный код, как было с Dual_EC_DRBG (Dual Elliptic Curve Deterministic Random Bit Generator), и не только:
Команда специалистов по кибербезопасности из китайской Pangu Lab опубликовала отчет, посвященный бэкдору Bvp47, работающему в операционных системах семейства Linux. Программу связывают с хакерской группировкой (APT) Equation Group, которая, по данным аналитиков, действует в интересах Агентства национальной безопасности (АНБ) США.
В ОС Linux 10 лет работает «жучок» АНБ США, следящий за «военкой» и телекомом по всему миру
Очень мне в свое время понравился метод - Обход шифрования диска в Linux через непрерывное нажатие клавиши Enter.
Заключение
Тут должна быть умная мысль, но мне недавно люди, не отличающие vi от chown, популярно пояснили, что перевод бабушек через дорогу, и почты из Microsoft Exchange в PostgreSQL (PostgreSQL Global Development Group, Regents of the University of California) – это успешный успех импортозамещения.
Все идет по прежнему ..
Замена американской ОС Windows на американскую ОС на базе linux называется “импортозамещением”.
Шпаргалка по общению с СПО-сектантами
Есть во всем происходящем какая-то сложно уловимая ирония.
Но я подумаю про нее завтра – у меня до сих пор не получается собрать на орбите транспорт до Мюн. Мне до КР-700 (Кербинская ракета - 700) еще как .. Впрочем, сравнение придумайте сами.
Хорошо хоть с понедельника у основных заказчиков приостановка работ, в связи с близким рождеством. Можно будет не выкатывать и откатывать до ночи, но спокойно собрать ракету и написать документацию.
HO. HO. HO. Happy Hogswatch!
PS. Прошу при комментариях не забывать про новую классику, в том числе "я сама дочь офицера разработчик программист и не все так однозначно" и классику, не устаревшую за 100 лет:
1. Despicere (смотреть свысока - лат.), или прием первый.
Состоит в том, что участник диспута должен дать почувствовать противнику свое интеллектуальное и моральное превосходство, иными словами, дать понять, что противник - человек ограниченный, слабоумный, графоман, болтун, совершенный нуль, дутая величина, эпигон, безграмотный мошенник, лапоть, плевел, подонок и вообще субъект, недостойный того, чтобы с ним разговаривали. Такая априорная посылка дает вам затем право на тот барский, высокомерно-поучающий и самоуверенный тон, который неотделим от понятия "дискуссия". Полемизировать, осуждать кого-то, не соглашаться и сохранять при этом известное уважение к противнику - все это не входит в национальные традиции.
Карел Чапек. Двенадцать приемов литературной полемики или Пособие по газетным дискуссиям
Если кто хочет комментировать, а вот беда - не может, то он всегда может написать опровержение, и даже написать его на сайте новостей Минцифры. Там сейчас вообще что угодно можно писать, и про живую воду, и про Эльбрус-128к.
Я такое провержение даже, наверное, прочитаю, если пришлют. Но это не точно.
Для лиги лени. Не произошло. И не планировалось.
Особенно в русскоязычном сообществе мне нравится то, что и про импортозамещение "вообще", и про переход на опенсорс, рассказывают люди, не способные выйти из vi, считающие query execution plan – ругательством, а FORCED PARAMETERIZATION – призывом демонов.
Мне же иногда пересылают ссылки на телеграм и форумы, причем такие, что по прочтении у меня глаз дергается, и начинаются флешбеки из 2015 года, рассказы одного Ильи.
Писать про это скучно, читать тоже, и вообще, «who cares where they come down? That's not my department!» says Wernher von Braun. Но, напишу. Раз в квартал можно.
Рассказы и приказы про импортозамещению идут с середины 2000х, начиная с планов, что в 2008 в России возьмут и везде перейдут на Linux. Скоро 20 лет, как переходят.
Начну с самого начала. С разработки «общей схемы» своего кремния.
Его почти нет. Почему «почти»? Потому что ядро Эльбруса, каким бы ущербным с точки зрения производительности, при использовании в гражданском секторе, оно не было, его все же разработали, и даже произвели. Дальше начинаются не озвучиваемые проблемы с мостами, QPI, и так далее. Разработчиков наградить, производство наградить, связистов не наказывать.
Не ядром единым жива вычислительная техника. Нужны контроллеры для Interconnect, нужны ASIC \ FPGA для сетей, нужны видеокарты, нужны дисковые контроллеры, нужны SSD контроллеры, и так далее, вплоть до SFP модулей.
В мире такой разработкой занимается может по 5, может по 10, фирм по каждому направлению. Занимаются очень давно, еще до времен массовых слияния и поглощений.
Скажем, слияния тех же Burroughs Corporation и Sperry в 1986. Или AMD - Xilinx. Или делают что-то комплексное, например Apiary: An OS for the Modern FPGA.
В России этим тоже занимались. При советской власти, то есть с середины 70х развития почти не было.
Что нужно, чтобы такие люди и разработки были? Да почти ничего. В мире есть 100-200 (просто 100-200) человек, на 10-20 дизайн бюро, которые этим занимаются. 200 человек, отобранные из, условно, миллиарда населения Китая и миллиарда объединенного населения Европы и США. Всего то нужно отобрать 200 из 2.000.000.000. И немного их учить, лет так с трех. Желательно учить не учителями по $300, и не в стандартной школе. И немного передавать им производственный опыт, что было сделано, и почему. Мелочи.
Затем теоретическую схему надо переложить на кремний. Что с ним, за исключением отсутствия производства расходных материалов, производства полуфабрикатов, и производства самих станков и запчастей к ним в РФ?
Есть Микрон, и есть линии 180 и 250 нм на нем. Годятся, чтобы делать чипы для паспортов, банковские карты, карты для метро, сим карты, и так далее. Раньше, давно, могли делать первые серии Эльбрусов. Сейчас - уже не могут. Почему – потому. Автор фразы «Птичка упала за террикон» находится в местах, не столь отдаленных. Про связь какой-то птички и ASML догадайтесь сами.
Что в наличии? Есть линии, от ASML и STMicroelectronics. Громко рекламируемый ребрендинг белорусского Интеграла на 350 нм списан на склад, пока не сгниет. Как сгнила купленная еще 2006 линия AMD Fab 30 (Дрезден).
Дальше готовые чипы нужно усадить на материнскую плату, которую тоже надо спроектировать. Современные платы, а не те, на которых деды нынешних экспертов в школе играли в «Ну погоди» - это 22-26 слойные платы, которые тоже надо спроектировать, произвести, и установить на них не только чипы, но и микрокомпоненты. Про микрокомпоненты раньше в школе рассказывали – индуктивности, конденсаторы, все это. Вручную такой сборкой почти не занимаются, для этого станки есть. Еще лет 10-15 назад, бывало, и вручную ставили. Производство микрокомпонентов в РФ и вызывало грусть, и вызывает. Не само производство, а качество (и его отсутствие), и подход к поставкам, номенклатуре, итд.
Можно сказать, что «российского» в импортозамещенном железе столько же, сколько в Москвиче-3.
Закончив с железом, перейду к софту.
Пропущу такие интересные вещи как сети, межсетевые экраны, NGFW и управление ими, а точнее AI анализ трафика, системы хранения данных, и прочее железно-программное. И их возможности, и цены. Даже ролик с рассказом испанца (Хуан Хойя Борха) пропущу.
На замене софта начинается просто праздник.
Есть две большие группы людей.
Одни не могут выйти из vi, и воспринимают Excel , как тетрадь в клеточку.
Другие используют формулы, макросы, VBA, подключаемые внешние источники, AI аналитику, и теперь Python, и все внутри Excel.
У одних база данных на 100 гигабайт – это все данные за пять лет работы фирмы.
У других 100 гигабайт – это объем транзакционных логов за час, если не меньше.
Одни не могут пару лет купить SSD на терабайт, потому что им дорого.
Другие плачут, что 8 терабайт оперативной памяти не хватает для In-memory.
То же самое везде – Tivoli Directory Server против Samba, VIOS против KVM, Pure против Ядро, и так далее.
Первым можно хоть сейчас заменить Excel на Лексикон.Мегатаблицы.
Вторым предлагают вместо Caterpillar D11 купить отвал на джип.
Пропущу специализированный софт, все эти REVITы и солидолы.
Самое сладкое начинается в управлении всем этим софтом, а точнее процессами, стоящими за этим софтом. Начинаются требования не к самому софту, "чтобы работал", а к процессам, которые обсепечивает этот софт.
На все вышеперечисленное накладывается четыре фактора
Фактор первый. Смена технологического лидерства, а точнее новый передел мира. Сделка века Газ-Трубы от 1970 года закончилась. Если кто прогуливал историю, то 1 февраля 1970 года между СССР и ФРГ (капиталисты, не путать с передовым социалистическим ГДР) была подписана сделка, определившая историю Европы на 40 лет.
Европа получала газ из Сибири (и нефть, и много чего еще).
СССР получал поставки бесшовных труб большого диаметра (не умели их делать в СССР), технологии их производства, и много чего еще. В том числе технологии турбин для газоперекачки, к ним системы управления, плюс поток валюты, плюс командировки для элиты (номенклатуры) для обмена опытом.
Сейчас в Старой Европе все сложно. Настолько сложно, что достаточно посмотреть рейтинг АфД.
Производство уезжает от дорогих кадров, дорогого социального обеспечения, и налогов на поддержку всяких дармоедов, и людоедов, в Китай.
В том числе поэтому в Европе мало что можно купить. Мерседес можно. Airbus можно. Линию нельзя.
Фактор второй. Смена технологического уклада, переход от остатков четвертого технологического уклада в шестой. Паровозы, то есть автономные домашние сервисы, типа внешних USB дисков, еще ездят, но все уже централизовано, хранится в сети, и предоставляется по запросу. Если работает, а не опять упало, потому что индус, которым импортозаместили разработчика в Cloudflare, опять накосячил.
Поэтому стащить не получается.
Фактор третий. Смена поколений. 30 лет назад, когда уже не молодой Ричард Мэттью Столлман выступал за «даешь опенсорс бесплатно в массы», и проекты были попроще, и нагрузки поменьше, и код почище, и трава получше, и из Южной америки поставлялись экологически чистые продукты, а из Европы – лучшее из Грибоедова (Clavicipitaceae и Strophariaceae).
Сейчас продукты стали сложнее, нагрузка на работника повыше, и желания заработать «для себя» - побольше. Уже много лет идет отмирание опенсорса. Часть продуктов закрывается, часть переписывается с ноля (и не делается при этом лучше), часть меняет лицензии.
Разработчики уходят - Brendan Gregg announced he has resigned from Intel.
В большом ИТ идет индусозамещение.
При этом персонажи, которые уже освоили выход из vi, и даже сделали один раз
git clone https://github.com/Hello/world.1
говорят, что это же так просто, склонировали себе продукт на пару миллионов строк и переписали. Конечно просто. Взять и склонировать. И хотя бы прочитать. Включая зависимости.
Тот же KVM:
150 тысяч строк кода (и это не ядро, это сам KVM)
90 тысяч строк тестов
Это только один модуль.
Теперь сейчас еще и половину настроек k8s переписывать, для перехода с Ingress NGINX на Gateway API. Я сегодня планировал искупаться и поплавать, ну поплавал максимум в бассейне, сижу, читаю, и плачу. В перерыве плачу с бывшими коллегами, потому что у меня то только k8s, а у них еще и «импортозамещение». Истории в нем – одна удивительнее другой, а уж какие планы, ой.
Фактор четвертый. Уход с рынка ряда коммерческих продуктов
14 сентября 2022 года Microsoft обьявила про завершение жизненного цикла Exchange 2019.
14 октября 2025 года история Exchange offline закончилась, теперь только Exchange SE по подписке. Заменять его нечем в РФ, и нечем в мире.
2 октября 2025 года закончилась поддержка offline VMware by Broadcom, теперь только по подписке, и задорого. То же самое Broadcom устроила с FC коммутаторами. Чрезвычайно уважаемые люди еще тогда предвидели - будет как в Computer Associates и UCC-7 - CA-7.
Заменять Broadcom тоже нечем.
Ряда продуктов просто не существовало, и не существует, в опенсорсе. Знающие люди мне уже давно насовали ключевых слов, типа SpaceWalk:Satellite(CentOS:RHEL), AptcacherNG, Foreman и Katello, но это очень не то же самое, чем русифицировать salt stack и назвать это импортозамещением, и не имеющим аналогов убийцей SCCM (ранее System Center Configuration Manager, теперь Microsoft Configuration Manager).
Итоговые ошибки внедрения и тестирования «типа импортозамещения» просто не выносят из изб. Такой .. тяги и коричневых потоков не было с 6 июля 2012 года, если вы понимаете, о чем я.
О каком импортозамещении и переходах "на опенсорс" речь, если только за последний месяц случились React2Shell CVE-2025-55182 и Grafana CVE-2025-41115, какой там "контроль кода".
И это в масссово используемых продуктах, уже повсеместно.
Нельзя просто так взять продукт для малого и очень малого бизнеса, хоть Samba Server, хоть Postgres SQL, с их врожденными ограничениями, и натянуть на хотя бы среднего размера инфраструктуру. Ирония в том, что ограничения указаны прямо в документации, причем в документации на русском:
Максимальное количество столбцов таблицы дополнительно уменьшается в связи с тем, что сохраняемый кортеж должен умещаться в одной странице размером 8192 байта. Например, если не учитывать размер заголовка, кортеж, состоящий из 1600 столбцов int, будет занимать 6400 байт и поместится в странице кучи, тогда как 1600 столбцов bigint займут 12800 байт и в одной странице не поместятся. Поля переменной длины, например типов text, varchar и char, могут храниться отдельно, в таблице TOAST, когда их значения достаточно велики для этого. При этом внутри кортежа кучи должен остаться только 18-байтовый указатель. Для более коротких значений полей переменной длины используется заголовок из 1 или 4 байт, и само значение сохраняется внутри кортежа в куче.
Теоретически каждая таблица может хранить до 2^32 отделённых значений. Более подробно такие значения описаны в Разделе 66.2. Данное ограничение вызвано использованием 32-битных OID для идентификации каждого такого значения. В реальности же лимит значительно ниже, поскольку как только всё пространство для OID занято, найти свободный OID становится сложно, что замедляет работу операторов INSERT/UPDATE. Обычно это происходит только с таблицами объёмом в несколько терабайт.
Заключение
Классика советской мультипликации, но почему-то летающие корабли не продаются всем подряд. Единственное, что точно удалось национализировать, это один из сайтов по рассказм про все подряд, превратившегося из сайта «про ИТ» в сайт с разрешенными новостями от Минцифры.
Бывает. Press F.
Странно, что сайт целиком не купила Астра, и что Астра даже не стала покупать на нем блог, ограничившись платными статьями. Но, это дело тех, кто платит еще и этот своеобразный налог, окончательно завалив сайт сгенерированными статьями, и статьями космического масштаба и космической же глупости.
Литература
«...Одним из примеров громоздкой и, по мнению авторов, бесполезной надстройки является интегрированная система WINDOWS фирмы Microsoft. Эта система занимает почти 1 Мбайт дисковой памяти и рассчитана на преимущественное использование совместно с устройством типа "мышь".» — вы точно знаете, откуда это
Приветствую всех! Буквально неделю назад прошло сорок лет с момента выхода первой релизной версии Windows. Именно в тот день в 1985 году началась история ныне повсеместно распространённой ОС.
И вот, узнав об этом, я подумал: а что, если попробовать запустить эту ОС и узнать, как предполагалось писать софт для неё? Именно этим мы сейчас и займёмся. Заодно и узнаем, насколько это было проще или сложнее, нежели сейчас.
Уверен, если вы интересуетесь историей ОС, то хорошо знаете, что вообще такое Windows 1.0 и что она собой представляла. Хотя Windows 1.X были не полноценными ОС, а графическими оболочками под DOS, для них существовал SDK, позволяющий писать оконные приложения. Тем не менее, из-за высокой по меркам тех лет сложности разработки самих приложений было не так уж и много.
Особой популярности система тоже не заполучила, поскольку имела значительные системные требования и малое количество софта. Очень многие из тех, у кого в те годы был ПК, про этот продукт вообще ни разу не слышали. В общем, это самая подходящая платформа, под которую сейчас стоит попробовать что-то написать. Этим-то мы и займёмся.
Как известно, я пишу про железо, а не только про софт, поэтому запускать то, что получится, будем на настоящем ПК.
Намного более аутентичного для такой системы PC XT у меня нет, поэтому для запуска был вытащен вот такой промышленный одноплатник. Конечно, можно было бы взять и просто плату на 286 или 386, но этот девайс лежал у меня уже больше полугода и всё ждал, когда я сделаю с ним что-то интересное. Так что сейчас будем пробовать с ним.
Это ROCKY-328E-M4. На борту процессор 386SX-40 (точнее, SoC Ali M6117C, объединяющая процессорное ядро и чипсет Ali M1217), четыре мегабайта памяти, IDE, флоппи-контроллер, в данный момент ненужный Ethernet, панелька под DiskOnChip и стандартные для любого ПК интерфейсы. Когда-то давно он работал на одном неназванном предприятии и управлял какими-то устройствами при помощи плат дискретного ввода-вывода и платы последовательных портов. Впрочем, про эти модули поговорим как-нибудь в другой раз, а сейчас будем рассматривать его просто как обычный ПК.
Вообще, такие промышленные ПК — отличный вариант для того, кто хочет заполучить себе ретрокомпьютер, но у кого поставить дома обычную «тройку» или «четвёрку» возможности нет. Эта плата позволит заиметь полноценный 386 без всяких эмуляторов, а места такая машина будет занимать не больше, чем обычный бесперебойник.
Встроенного видео на плате нет, поэтому для запуска понадобится ещё и видеокарта.
Это довольно популярная в своё время плата на чипе Realtek RTG3105i. Особых причин выбрать именно её у меня нет: просто когда-то она досталась мне вместе с этим промПК.
Всё вместе втыкается в кросс-плату.
У меня она вот такая, от Advantech. Конкретно эта сделана под размер обычной материнки типа AT. Даже предусмотрен разъём DIN-5 для клавиатуры с отводом от него для подключения к процессорной карте.
Вообще, по опыту работы со старым софтом, я ещё перед началом догадывался, что там наверняка будет куча каких-то косяков, которые не удастся сходу решить. На обычном компьютере всё это делать забавно, но только один раз. Поэтому сборкой самого приложения я занимался в эмуляторе.
Итак, определимся с тем, что нам вообще понадобится:
Компилятор. В моём случае Microsoft C 4.0.
Windows SDK. Тут я решил использовать версию 1.03.
Изначально я хотел использовать SDK 1.01 и Microsoft C 3.0, но...
...во всяком случае, я пытался.
То ли ему чего-то не хватает, то ли устанавливается он не так просто, как мне думалось, но ни одна программа им не собралась. Поэтому выбор был сделан в пользу того, на что имелась документация. Никаких PDF, никакой онлайн-справки в те годы не было, все мануалы были бумажными. Так уж вышло, что на Microsoft C 4.0 и Windows SDK 1.03 их сканы имелись в наличии.
Ну что, приступим?
Как я уже упомянул, собирать всё будем в эмуляторе. Им стал 86box (пришедший на смену почившему PCem). Как его поставить, описывается тут.
Создал виртуалку с процессором 386SX и чипсетом как у моей платы (дабы, если что, заранее обнаружить, что что-то пошло не так, и это решить).
Далее добавляем винт, а в разделе контроллеров выбираем «PC/AT Floppy Drive Controller» и «[ISA16] PC/AT IDE Controller (Dual-channel)».
В BIOS указываем параметры жёсткого диска. Загружаем в дисковод образ DOS и перезагружаемся.
Далее выполняем стандартные действия для установки DOS: размечаем диск при помощи fdisk, форматируем при помощи format, делаем его загрузочным при помощи sys и копируем остальные файлы. На этом загрузочная дискета нам больше не понадобится. Компьютер теперь будет запускаться с винта.
Процесс установки Windows 1.0 особых сложностей тоже не вызывает, так что показывать его я тут не буду. При установке надо указать следующие параметры: мышь — Microsoft Mouse (Bus/Serial), видеокарта — EGA with Enhanced Color Display or Personal Computer Color Display, принтер — не используется.
Запускаем ОС командой win и убеждаемся, что картинка цветная, мышь шевелится, а стандартные приложения нормально открываются.
Теперь очередь компилятора.
Установочной программы у него нет. Поэтому всё придётся копировать самому. На системном диске создаём папки BIN, INCLUDE, TEMP, LIB. В BIN копируем всё содержимое первой дискеты, ещё несколько экзешников со второй и link.exe с третьей, в INCLUDE — всё с расширением *.H и *.INC, в LIB — всё с расширением *.OBJ и *.LIB, TEMP оставляем пустой. В INCLUDE создаём папку SYS и копируем туда содержимое одноимённого каталога на третьем диске. Дискеты 6, 7 и 8 для первого запуска можно пока не трогать.
Казалось бы, на этом всё. Но на самом деле нет, ведь если теперь мы попробуем что-либо собрать, то компилятор выдаст вот такую ошибку.
Поэтому продолжим установку, для чего создадим в корне системного диска ещё два файла.
Первый, AUTOEXEC.BAT, следующего содержания:
PATH C:\WINDOWS;C:\BIN;C:\INCLUDE;C:\LIB
SET INCLUDE=C:\INCLUDE
SET LIB=C:\LIB
SET TMP=C:\TEMP
SET TEMP=C:\TEMP
Вообще, в этом батнике указаны команды, которые выполняются автоматически при запуске DOS. В данном случае мы здесь указываем глобальные переменные, чтобы не вводить их каждый раз вручную.
Второй, CONFIG.SYS, вот такой:
FILES=20 BUFFERS=40
Это файл конфигурирования системы. Здесь мы задали число максимально возможных открытых файлов и число максимально возможных дисковых буферов.
Если у вас не чистая установка DOS, то прописываем эти параметры и имена переменных в соответствующих файлах.
После этого тестовая программа (из комплекта компилятора) должна будет собраться и запуститься. Отлично.
Теперь нужно установить Windows SDK. Поставляется он опять таки на нескольких дискетах.
Вставляем диск номер два и выполняем следующие команды:
C:
copy A:\INSTALL.BAT C:\INSTALL.BAT
CD \
INSTALL \BIN \WINDOWS \INCLUDE \LIB
После этого начнётся установка.
Тут всё просто, вставляем очередную дискету и ждём, пока скопируются файлы.
На этом установку SDK можно считать законченной.
А пока что отвлечёмся от установки инструментария и произведём ещё одну установку Windows.
На этот раз создадим загрузочную дискету с Windows 1.03, установив систему на чистый образ и добавив на оставшееся место DOS. Туда же чуть позже закинем собранные приложения.
Собираем тестовый стенд.
В кросс-плату втыкаем одноплатник и видеокарту, подключаем клавиатуру, мышь, монитор, блок питания и дисковод. В дисковод втыкаем записанную нами дискету. Всё, девайс готов к запуску.
Ну что же, время попробовать что-нибудь собрать. В составе SDK есть и какие-то примеры кода. С них-то и начнём.
Находим папку HELLO и копируем её на жёсткий диск. Теперь заходим в неё и выполняем команду:
make hello
После этого через примерно пару минут приложение должно будет собраться. Если не собралось — проверяем, правильно ли установили компилятор и SDK.
Можно даже попробовать запустить свежесобранный экзешник и убедиться, что приложение действительно требует для работы Windows.
Поэтому заходим в Windows, запускаем, и, если всё получилось, на экране должно будет появиться примерно следующее:
Отлично!
Взглянем на исходник этого приложения.
Файл достаточно внушительной длины (больше полутора сотен строк). Тем не менее, там можно встретить много того, что есть и в куда более свежих программах для Windows на Си.
Вообще, первые версии Windows были просто оболочками, не имели никакой многозадачности, а целью их создания было не выпустить полноценную ОС, а облегчить работу с DOS. Несмотря на это, кое-что из появившегося в них либо претерпело значительное развитие и используется и до сих пор (например, GDI, много позже ставший GDI++ и использующийся и сейчас, появился с самых первых сборок Windows), либо ушло в историю, но оставило свой след (например, параметр hPrevInstance, использовавшийся в Win16 и всегда равный NULL в Win32).
Но всё же отличий Win16 от Win32 намного больше, чем может показаться неподготовленному пользователю. В Win32 очень многие операции стали значительно удобнее, а случайно уронить всю систему, запороть память другого приложения или заставить все остальные программы разом перестать работать теперь куда сложнее.
Теперь попробуем запустить тестовый стенд.
Насаживаем перемычку между контактами PS_ON и землёй на кросс-плате, запуская тем самым блок питания. Через несколько секунд компьютер проходит POST и начинает загружаться. Можно набирать WIN и пробовать запускать софт.
Всё успешно работает!
И ещё одно приложение — показ фигуры заданного мышкой размера.
Помимо инструментария для сборки в комплекте с SDK идёт несколько графических приложений. Само собой, никаких интерактивных редакторов кода с ним не поставлялось: для написания программы надо было открыть текстовый редактор, набрать там код, закрыть редактор, попробовать собрать приложение, затем при необходимости снова открыть редактор и исправить ошибки. И так очень много раз. Но всё же несколько интересных утилит тут имеется.
Первая из них — это редактор шрифтов.
Следом идёт редактор иконок.
В Windows 1.0 нет ни рабочего стола, ни панели задач. Единственное место, где видны эти иконки, так это при сворачивании приложения. Снизу видны открытые HELLO.EXE, MS-DOS Executive и калькулятор.
Вот так выглядит процесс редактирования.
И, наконец, самое важное. Это редактор диалогов.
Весь интерфейс программы создаётся в нём и сохраняется в виде двух файлов — ресурсов и заголовков.
Несмотря на то, что программирование под Win16 по сути умерло, некоторые порой всё же пробуют что-то написать. Кому-то это надо из любви к ретрокомпьютерам, кому-то — ради того, чтобы оживить какой-то древний, но очень нужный и приносящий очень много денег софт.
Но всё же если вдруг вас так и тянет попробовать что-то написать под древнюю ОС, то рекомендую начать опыты с Windows 95 или 98. Под них куда больше документации и примеров кода, а инструментарий намного более удобен.
Такие дела.
Материал получился очень объемным, но весьма интересным. Все иллюстрации не влезли. Но их можно изучить в
оригинальной статье.
Написано при поддержке Timeweb Cloud.
Больше интересных статей и новостей в нашем блоге на Хабре и телеграм-канале.
Реклама ООО «ТАЙМВЭБ.КЛАУД», ИНН: 7810945525
По просьбам небольшого количества пикабушников, я созрел на создание серии постов по созданию своего собственного мультимедийного сервера.
Будет, предположительно, серия постов по созданию собственных потоковых сервисов музыки, кино, аудиокниг и многого другого.
Планирую написать:
1. Альтернатива потоковым видеосервисам (Кинопоиск, Кион и т.д.)
2. Альтернатива потоковым аудиосервисам (Я.Музыка, Звук и т.д.)
3. Альтернатива потоковым аудиокнигам
4. Альтернатива игровым облачным сервисам (GeForce NOW)
5. Альтернатива потоковым видеосервисам для взрослых :)
6. Альтернатива Я.Диску, Облаку Mail и т.д.
Ну и если осилю, напишу про другие плюшки собственного NAS и что на нём можно запустить.
Дисклеймер
Большинство из заявленного можно реализовать довольно бюджетно из старого железа и дисков, но важно понимать, что альтернатива игровым облачным сервисам типа GeForce NOW потребует уже существенно более мощного железа. Та же история с транскодированием видео на лету. Идеальный вариант - процессоры со встроенным видеоядром + видеокарта (если планируете делать игровой стриминговый сервер). Если нет - то достаточно просто процессора со встроенной графикой или вообще без видеокарты и без процессора со встроенным видеоядром, но тогда транскодирование будет возложено уже на него.
Почему Unraid, а не что-то другое?
Ответ прост - я перепробовал практически все операционные системы для NAS и остановил свой выбор на Unraid по одной простой причине - это лучший, хотя и платный вариант для бюджетной версии собственного NAS, у которого адекватные требования по железу, и который можно установить почти на любое старьё, да ещё и до кучи можно использовать безнаказанно сборную солянку из различных HDD/SSD разных производителей и размеров. Но вы можете использовать любую другую ось, если она поддерживает докеры и VM - FreeNAS, TrueNAS, OpenMediaVault или даже встроенные от производителей, типа ThecusOS или QTS от QNAP.
Unraid — это мощная и гибкая операционная система на базе Linux, предназначенная для создания собственного сервера хранения данных (NAS), запуска виртуальных машин и контейнеризированных приложений. Главное преимущество Unraid в том, что система работает с флешки и не требует установки на жесткий диск, что позволяет максимально эффективно использовать все накопители для хранения данных.
Системные требования просты и обязательных не так много:
64-разрядный процессор с тактовой частотой 1 ГГц или выше
Минимум 4 ГБ оперативной памяти для базовой функциональности NAS
Поддержка Linux-драйверов для накопителей, сетевых контроллеров и USB
Дополнительные требования для виртуализации, а они нам конечно же нужны, если мы планируем запускать виртуальные машины - процессор и материнская плата должны поддерживать аппаратную виртуализацию (Intel VT-x/AMD-V) и технологию IOMMU (Intel VT-d/AMD-Vi).
Требования для запуска контейнеров:
Для множества приложений рекомендуется четырехъядерный процессор (2,4 ГГц или выше) и 4-8 ГБ оперативной памяти.
По поводу установки - нам потребуется USB-флешка, с которой Unraid и будет запускаться.
Главное требование - качественная флешка объемом не менее 2 ГБ, хотя рекомендуемый максимальный размер — 32 ГБ. Выбирайте флешки от известных производителей, так как надежность непосредственно влияет на долговечность системы.
Далее у нас два пути - купить или спиратить Unraid :)
О лицензировании:
Пробная версия: 30 дней бесплатно, с возможностью двух продлений по 14 дней (всего 58 дней)
Лицензия Basic (рекомендуется для большинства): поддерживает до 6 дисков в массиве, неограниченное количество VM и приложений
Лицензия Plus и Pro доступны для более продвинутых сценариев
Я буду показывать на триальной версии Unraid, так как это тестовая машина, но поиск никто не отменял и вы можете пойти своим путём спиратить дистрибутив.
Для официального варианта всё максимально просто - скачиваете USB Flash Creator для вашей операционной системы с официального сайта Unraid
и производите минимум действий:
Вставьте USB-флешку в компьютер
Запустите USB Flash Creator и выберите вашу флешку
Нажмите на кнопку Customize, если хотите изменить:
Имя сервера (по умолчанию "Tower")
Режим сети (по умолчанию DHCP)
Параметры загрузки
Нажмите Write для записи образа Unraid на флешку
Процесс может занять несколько минут в зависимости от скорости интернета и скорости записи на флешку.






Установка Unraid на флешку
Здесь есть подробная инструкция от Unraid:
Теперь довольно важный момент - предварительная БАЗОВАЯ настройка вашего железа, а если быть точнее - подготовка BIOS. Материнок множество, но порядок действий примерно один и тот же (Флешка уже должна быть в ПК!). В некоторых случаях или при желании, можно более тонко настроить, но я это пропущу, потому как нас интересуют именно базовые настройки.
BIOS
Заходим в BIOS. Обычно Delete (Del) или F2 при загрузке.
Включить загрузку с USB-устройств — настройте BIOS так, чтобы система загружалась с USB перед жесткими дисками.
UEFI предпочтительнее, но Legacy тоже работает.
Включить функции виртуализации:
Для процессоров Intel:
Intel Virtualization Technology (VT-x) - Enabled
Intel VT-d (Directed I/O) - Enabled
Для процессоров AMD:
AMD SVM (Secure Virtual Machine) или AMD-V - Enabled
AMD IOMMU или AMD-Vi - Enabled
И общая, но очень важная опция:
IOMMU - Enabled
Теперь мы готовы к первому запуску Unraid!



Unraid по умолчанию загружается без графического интерфейса, если он не выбран при старте!
Вы можете выбрать вариант при загрузке самостоятельно.
По умолчанию используется учетная запись root без пароля.
Доступ к веб-интерфейсу
После загрузки системы у вас есть два варианта управления:
Вариант 1: Локальный доступ
Используйте монитор и клавиатуру для прямого взаимодействия с сервером
Вариант 2: Удаленный доступ (рекомендуется)
Если в настройках, при создании флешки вы всё оставили без изменений, и имя сервера - tower, то в браузере, на своём основном ПК вводите:
http://tower.local
Если вы изменили имя хоста при создании USB-флешки (например, на myserver), используйте:
http://myserver.local
Ну или выполнить на самом Unraid простую команду:
ip addr show
которая покажет IP адрес вашего нового сервера.
Откроется веб-интерфейс Unraid (WebGUI)
При первом входе в WebGUI система немедленно попросит вас установить надежный пароль для учетной записи root.
Пароль должен быть не менее 8 символов
Используйте комбинацию прописных, строчных букв, цифр и специальных символов
Регистрация и получение лицензионного ключа
Нажмите на Начало работы (Getting Started) в правом верхнем углу WebGUI
Выберите Войти или Зарегистрироваться на Unraid.net
После входа пробный ключ автоматически загрузится на ваш сервер






Пароль и триальный доступ
Назначение устройств массиву
После регистрации приступите к настройке дисков:
Перейдите на вкладку Main в WebGUI
Вы увидите список всех подключенных устройств:
Диски в массиве (Array)
Диски в пулах (Pool) — кэш-диски
Неназначенные диски
Загрузочное устройство (Flash)
Назначьте диски в соответствии с вашей конфигурацией:
Один диск как Parity (четность) — при отказе этого диска данные восстановятся
Остальные как Data (данные)
Важно: При первом запуске массива система переформатирует диски, поэтому убедитесь, что данные на них вам не нужны.
Первая инициализация дисков может занять от 30 минут до нескольких часов в зависимости от их размера (особенно для дисков объемом 4TB+). Во время инициализации на странице Main будет показан прогресс — система проверяет диски, поэтому не отключайте сервер.
Совет: время от времени скачивайте конфигурацию Unraid. Это можно сделать в WebGUI: Settings → Backup/Restore → Download Backup. Сохраняйте архив в безопасное место — если флешка сломается, вы сможете быстро восстановить все настройки на новой флешке.
Так как мы бюджетники и собрали сервер из того, что было и нам не жалко потерять на нём данные, то Parity мы игнорируем. Если хотим подстраховаться, то диск для Parity должен быть по объёму не меньше самого большого диска в массиве (или равен ему).
Запуск массива
После назначения всех устройств:
Нажмите кнопку Start в разделе Array Operations
Система покажет предупреждение о форматировании — подтвердите действие
Массив начнет инициализацию и монтирование дисков
Этот процесс может занять от нескольких минут до нескольких часов в зависимости от размера дисков и возможностей системы.



Назначение устройств массиву
Базовая конфигурация системы
Настройка сетевого подключения
Перейдите в Settings → Network Settings
Убедитесь, что сетевой интерфейс настроен на получение IP-адреса через DHCP или установите статический IP
Проверьте подключение с помощью команды ping
Включение Docker (для контейнеров)
Docker позволяет запускать изолированные приложения в контейнерах. Для включения:
Перейдите в Settings → Docker
Переключите Docker на Enabled (Включено)
Нажмите Apply
После этого станет доступна вкладка Docker в главном меню, где вы сможете устанавливать и управлять контейнерами.
Включение виртуальных машин
Если ваше оборудование это поддерживает:
Перейдите в Settings → VM Manager и также включите поддержку VM
После чего можно там же подгрузить ISO с драйверами для виртуальных машин
Автоматический запуск массива
Чтобы массив автоматически запускался при включении сервера:
Перейдите в Settings → Disk Settings
Включите Auto Start Array (Автоматический запуск массива)
Нажмите Apply
Это особенно важно, если сервер находится в отдаленном месте и вы не сможете вручную его перезагружать.
Создание общих папок (Shares)
Общие папки позволяют организовать доступ к данным по сети:
Перейдите на вкладку Shares (Общие папки)
Нажмите Add Share (Добавить общую папку)
Введите имя общей папки (например, "Media" для медиа, "Backup" для резервных копий). У меня на скрине это "nas".
Выберите Use Cache (Использовать кэш) если у вас есть быстрые SSD-диски для кэша
Нажмите Create (Создать)
Создание пользователя (User)
Перейдите на вкладку Users (Пользователи)
Нажмите Add User (Добавить пользователя)
Достаточно указать имя пользователя и пароль. Описание - по желанию.
Здесь же, чуть ниже указываем пользователю доступ к нашей шаре.
Базовая настройка Unraid на этом завершена.
Добавление сетевого диска
Теперь мы можем добавить сетевой диск в проводнике Windows.
Правой кнопкой на "Мой компьютер" и "Подключить сетевой диск".
В зависимости от ваших настроек, это будет примерно так:
\\tower.local\nas
Имя пользователя и пароль, который вы создали.
Всё. Первый этап завершен. Продолжим в следующих постах.
P.S. В комментах можете пока написать, что хотели бы увидеть в ближайшей части.
P.P.S. Для юных рукоблудников - альтернатива потоковым видеосервисам для взрослых, будет на сладкое, в последних частях этой серии :)


















