Создание файлов ISO с помощью DiscUtils: подробное руководство

Файлы ISO широко используются для хранения и распространения образов дисков. Они обычно используются для создания загрузочных носителей, архивирования данных или распространения установок программного обеспечения. В этой статье мы рассмотрим различные методы создания файлов ISO с использованием библиотеки DiscUtils на C#. Мы предоставим примеры кода и пошаговые инструкции для каждого метода.

Метод 1: создание ISO-образа из папки
Самый простой способ создать ISO-файл — преобразовать содержимое папки в ISO-образ. Следующий код демонстрирует этот подход:

using (FileStream isoStream = new FileStream("output.iso", FileMode.Create))
{
    CDBuilder builder = new CDBuilder();
    // Add files and directories to the ISO
    builder.AddDirectory(@"C:\Path\To\Folder");
    // Build the ISO
    builder.Build(isoStream);
}

Метод 2: создание ISO-образа с привода CD/DVD
Вы также можете создать ISO-образ, непосредственно прочитав его с привода CD/DVD. Фрагмент кода ниже иллюстрирует этот метод:

using (FileStream isoStream = new FileStream("output.iso", FileMode.Create))
{
    CDBuilder builder = new CDBuilder();
    // Read the contents of the CD/DVD drive
    builder.AddDirectoryFromCD(@"D:");
    // Build the ISO
    builder.Build(isoStream);
}

Метод 3: создание ISO из виртуального диска
DiscUtils поддерживает создание файлов ISO из виртуальных дисков, таких как файлы VHD или VMDK. Вот пример того, как создать ISO из файла VHD:

using (FileStream isoStream = new FileStream("output.iso", FileMode.Create))
{
    CDBuilder builder = new CDBuilder();
    // Mount the VHD file
    using (VirtualDisk disk = VirtualDisk.OpenDisk("disk.vhd", FileAccess.Read))
    {
        // Add the contents of the disk to the ISO
        builder.AddDirectoryFromDisk(@"\", disk);
    }
// Build the ISO
    builder.Build(isoStream);
}

Метод 4: расширенная настройка ISO
DiscUtils предоставляет более расширенные функции для настройки ISO, такие как настройка параметров загрузки, добавление загрузочных образов или изменение атрибутов файлов. Следующий фрагмент кода демонстрирует пример:

using (FileStream isoStream = new FileStream("output.iso", FileMode.Create))
{
    CDBuilder builder = new CDBuilder();
    // Add files and directories to the ISO
    builder.AddDirectory(@"C:\Path\To\Folder");
    // Set boot options
    builder.VolumeIdentifier = "MyBootableISO";
    builder.SetBootImage(@"C:\Path\To\BootImage.img");
    // Customize ISO attributes
    builder.SetFileAttributes("file.txt", FileAttributes.Hidden);
    // Build the ISO
    builder.Build(isoStream);
}

Создание файлов ISO с помощью библиотеки DiscUtils на C# обеспечивает удобный и гибкий способ создания образов дисков. Если вам нужно преобразовать папку, прочитать данные с привода CD/DVD или поработать с виртуальными дисками, DiscUtils предлагает различные методы для достижения ваших целей. Следуя примерам кода и инструкциям, приведенным в этой статье, вы сможете легко создавать файлы ISO с учетом ваших конкретных требований.

Помните, DiscUtils — это мощная библиотека, которая выходит за рамки простого создания ISO и позволяет выполнять расширенную настройку и манипулирование файлами ISO. Изучите документацию, чтобы открыть еще больше возможностей!