古いCanonプリンターを諦めない!KVM/QEMUとUbuntuでひたすら利用期限を延命させる方法


※ 当ページには【広告/PR】を含む場合があります。
2025/08/23
DebianをホストOSにしてKVM/QEMUを使ってゲストWindows11からeTax(法人)ソフトを起動させる
蛸壺の技術ブログ|古いCanonプリンターを諦めない!KVM/QEMUとUbuntuでひたすら利用期限を延命させる方法



古いCanon製プリンターのドライバーが最新OSで使えなくなり困っていませんでしょうか。
長年愛用してきたCanon製のプリンターが、OSのアップデートとともに使えなくなってしまったという話はよく耳に入ります。 特に古いモデルのプリンターは、最新のLinuxディストリビューションでは公式ドライバーが提供されず、泣く泣く買い替えを検討する方も多いでしょう。 しかし、まだ故障していないプリンターを捨てるのはなんだかもったいないことです。
KVM/QEMU仮想環境に過去のUbuntuをインストールし、生産終了となったCanon製プリンターを再び利用するための具体的な手順を解説します。 年数回しか使わないけれど手放したくない、そんなレガシーデバイスを蘇らせる方法を見ていきましょう。


合同会社タコスキングダム|蛸壺の技術ブログ【効果的学習法レポート】シェルスクリプトをこれから学びたい人のためのオススメ書籍&教材特集

KVM/QEMUで古いUbuntuをセットアップする



まずは、KVM/QEMU環境に古いUbuntuをゲストOSとしてインストールします。 KVM/QEMUのインストールや仮想マシンの基本的な起動方法については、
前回の記事 で詳しく解説していますので、そちらをご参照ください。

合同会社タコスキングダム|蛸壺の技術ブログ
DebianをホストOSにしてKVM/QEMUを使ってゲストWindows11からeTax(法人)ソフトを起動させる

KVM/QEMUを利用してLinuxでもeTaxを操作

仮想マシンのリソース割り当て



今回の目的はプリンターの利用に特化しているため、ゲストOSに割り当てるリソースは控えめで十分です。 例えば、メモリ512MB、ストレージ容量10GB程度で問題なく動作します。

互換性のあるUbuntuバージョンの選定



Canonのダウンロードサイトで、お使いのプリンターモデルに対応するLinuxドライバーの情報を確認しましょう。


例えば、手元にあるPIXUS MG3130の場合、対応OSとして動作確認が取れているUbuntuのバージョンを確認します。

合同会社タコスキングダム|蛸壺の技術ブログ


対応バージョンが判明したら、以下のサイトから対象のUbuntu ISOファイルをダウンロードします。 今回は
Ubuntu 10.10 を利用します。


ダウンロードしたISOファイルを使ってKVM/QEMUで仮想マシンを立ち上げると、以下のような画面が表示されます。

合同会社タコスキングダム|蛸壺の技術ブログ

合同会社タコスキングダム|蛸壺の技術ブログ【効果的学習法レポート】シェルスクリプトをこれから学びたい人のためのオススメ書籍&教材特集

Canonプリンターのドライバー導入と印刷



ゲストOSのUbuntuが起動したら、いよいよプリンタードライバーの導入と印刷テストを行います。

ゲストOS上でドライバーをダウンロード



改めてゲストOSのWebブラウザからCanonのダウンロードサイトにアクセスし、対応するLinuxドライバーをダウンロードします。

プリンターのデバイス認識とUSBリダイレクト



このプリンターがWi-Fi接続に対応していても、今回は安定性を考慮してPCとUSB接続します。 KVM/QEMUのメニューから
「USBデバイスのリダイレクト」 機能を使って、物理プリンターをゲストOSにマウントします。

合同会社タコスキングダム|蛸壺の技術ブログ
合同会社タコスキングダム|蛸壺の技術ブログ

ドライバーのインストール



ダウンロードしたドライバーファイルのあるディレクトリにターミナルで移動し、以下のコマンドを実行してインストールします。

            $ ls
cnijfilter-mg3100series-3.60-1-deb.tar.gz
$ tar xvf cnijfilter-mg3100series-3.60-1-deb.tar.gz
$ cd cnijfilter-mg3100series-3.60-1-deb
$ ls
install.sh  packages  resources
$ sudo ./install.sh

        

インストールが成功し、プリンターが正常に接続されると、そのまま印刷機能を利用できるようになります。

合同会社タコスキングダム|蛸壺の技術ブログ
合同会社タコスキングダム|蛸壺の技術ブログ

合同会社タコスキングダム|蛸壺の技術ブログ【効果的学習法レポート】シェルスクリプトをこれから学びたい人のためのオススメ書籍&教材特集

ホストOSとゲストOS間のファイル共有について



印刷したいファイルをホストOSからゲストOSへ渡す方法も重要です。 KVM/QEMUにはファイル共有機能がありますが、古いUbuntu環境ではうまくいかないケースもあります。

virtio-p9でのファイル共有の試み(と断念)



ホストOSで共有ディレクトリを作成し、ゲストOSからvirtio-p9を使ってマウントを試みるのが一般的な方法です。
まず、ホストOSのホームディレクトリ下に「
share 」というディレクトリを作成します。 これがゲストOSと共有するメインのディレクトリになります。

  • 例: /home/<ユーザー名>/share/

次にゲストOSへのファイルシステム追加します。
ゲストOSの画面から
[詳細] > [ハードウェアを追加] を選択し、「ファイルシステム」を追加します。

合同会社タコスキングダム|蛸壺の技術ブログ


ターゲットパスは任意に指定しますが、今回は「
mountpoint 」とします。 これはゲストOSからマウントする際に使用される名前です。
合同会社タコスキングダム|蛸壺の技術ブログ


最後にゲストOSでマウントします。 ゲストOSを起動し、マウント用のディレクトリ(例:
/home/<ユーザー名>/shared/ )を作成した後、ターミナルから以下のコマンドを実行してマウントします。

            $ sudo mount -t 9p -o trans=virtio <ターゲットパス> <ゲストOSの共有ディレクトリのパス>
# 今回の例であれば
$ sudo mount -t 9p -o trans=virtio mountpoint /home/<ユーザー名>/shared/

        

しかし、古いUbuntu環境ではvirtio-p9でのマウントが失敗してしまい、個人的にここでギブアップ。
ゲストOS側のp9設定の問題か、ホスト側のvirtioの問題か、原因の特定は困難な場合が多いです。 深入りすると時間ばかりかかってしまうため、今回はこの方法を断念します。
どうしてもVirtFSからファイルシステム共有させてみたい場合、
FedoraOpenSUSE などのLinuxディストロをゲストOSに使うと良いのかもしれませんが...(未確認)

代替案:USBメモリを使ったファイル転送



ファイル共有がうまくいかない場合でも、最も確実でシンプルな代替手段は
外付けUSBメモリを使ってバイパスする ことです。 ホストOSでUSBメモリにファイルをコピーし、KVM/QEMUのUSBリダイレクト機能を使ってゲストOSにマウントすれば、簡単にファイルを転送できます。


合同会社タコスキングダム|蛸壺の技術ブログ【効果的学習法レポート】シェルスクリプトをこれから学びたい人のためのオススメ書籍&教材特集

まとめ



本記事では、最新OSでサポートされなくなった古いCanon製プリンターを、KVM/QEMU仮想環境にインストールした古いUbuntuで再び活用する方法を解説しました。

  • KVM/QEMUでリソースを抑えた仮想マシンを構築し、互換性のある古いUbuntuを導入
  • Canonの公式サイトから対応するLinuxドライバーをダウンロードし、USBリダイレクトでプリンターを接続してインストール
  • ホストOSとゲストOS間のファイル共有が難しい場合は、 外付けUSBメモリ を利用することで、印刷したいファイルを簡単に転送

Canonのローエンドモデルであれば、最近の機種でも5,000円台で購入できるものもありますが、まだ使えるものを捨ててしまうのは気が引けるものです。 この方法を使えば、眠っていたレガシーデバイスを有効活用し、無駄をなくすことができます。ぜひ、お手元の古いプリンターを蘇らせてみてください。